Ist ZeroMQ Produktion bereit?
Was sind Eure Erfahrungen mit ZeroMQ als general purpose messaging-middleware?
- Haben Sie sich in eine show-stopping bugs oder nicht-offensichtlichen "Funktionen"? E. g. 2.0 war nicht die Spülung Meldungen richtig, und die Anleitung zur Fehlerbehebung zu geben scheint die schrecklichsten workaround von Ihnen allen: "
sleep(1)
vor exit". - Hat die API-verringern Sie die Komplexität von Anwendungen oder gar beweisen zu lästig sein?
- Ist die Abwärtskompatibilität oft kaputt?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verwende ich es für die Forschung, also "semi-Produktion". Es ist ein wunderbarer Rahmen, und die Art und Weise die Dinge sind so konzipiert, die sicherlich Sinn machen, sobald Sie voll grok es. Aber ich getroffen habe, viel zu viele Probleme und halte es für die Produktion geeignet. Ich bin mit jzmq, so dass einige dieser vielleicht speziellen.
ABER, und das ist ein großes aber, ich kann nicht zählen, wie viele Mann-Stunden hat er mich gerettet. Dieser Beitrag hat eine gute Zusammenfassung, nur ein paar der Möglichkeiten, Sie macht das Leben angenehmer.
Ich bin auch mit ZeroMQ in einer "semi-production" Umgebung (prototyping für DARPA). So weit es hat sich wirklich hervorragend für "binden Katzen zusammen," vor allem, wenn diese Katzen sind in verschiedenen Sprachen geschrieben und live auf verschiedenen Maschinen. Die verfügbaren sockel Idiome machen denken über ein distributed computing Problems sehr einfach. ZeroMQ ' s Stärke ist die Ergonomie: ein solides mentales Modell und reichlich Sprachanbindung.
Gehen Sie mit Vorsicht, obwohl, wenn Sie sich gegen harte performance-Einschränkungen. Ich arbeite auf einem Echtzeit-system und haben festgestellt, dass, obwohl ZeroMQ ist eine high-performance-Lösung, es ist noch nicht bereit für primetime. Ich denke, die Architektur, das hat großes Potenzial; es scheint nur eine Reihe von nagende Fehler. Wahrscheinlich sollte ich erwartet haben, dass aus einer Bibliothek, die sich entwickelt hat, so schnell, das geht von 0.0 bis 3.0 in relativ kurzer Zeit. Noch, dachte ich, ich würde erhalten eine drop-in-Ersatz für meine eigenen, handgefertigten Protokoll-stack und sofort schlug einige deal-breakers. Wenn Sie sich entscheiden, zu gehen mit ZeroMQ, nur im Kopf behalten, dass Sie arbeiten, sowie über die transport-Schicht, und wenn die Leistung ist weniger als wünschenswert, es gibt wenig Sie dagegen tun können.
Dass gesagt wird, das Geschwätz auf der Mailingliste und dem IRC-Kanal ist ziemlich groß. Die devs scheinen wirklich daran interessiert, etwas zu bauen, das ganz state-of-the-art. Sie lieben es, dass Ihre Bibliothek hat buzz und ist immer für ernsthafte, interessante Dinge. Sie sind sehr beschäftigte Leute, so erwarten Sie nicht, eine Tonne der hand hält. Wenn Sie haben ein echtes problem, obwohl, Sie sind begierig zu wissen, was Los ist.
Bottom line: Ein großes Schweizer Taschenmesser für den täglichen distributed computing Probleme. Seien Sie vorsichtig, wenn Sie auf der Suche nach bleeding-edge-Leistung; es ist mindestens ein major-release aus. Noch, die Zukunft sieht gut aus für dieses Projekt, so verwenden Sie es und unterstützen es.
disclaimer: dies kommt von einer person, die nie benutzt AMQP oder jedes andere ähnliche Produkt vor.
Schlechte Dokumentation ist schlecht. (C# wäre schlimm, wenn es keine Dokumentation .Net und C#) Also ZMQ vielleicht das beste, was heraus dort, wenn Sie wissen, wie es zu benutzen, aber die Dokumentation, die vorhanden ist(nicht viel) ist ziemlich schlecht(wir sind so klug, das ist so gut, Erlang, bla bla, nicht einen einzigen n-zu-n-Beispiel in der Anleitung...).
Sie sagen so was, die meisten OS-Projekte haben schlechte Dokumentation oder gar keine. Ja, aber für ganz oa einige OS-Projekte können Sie google eine Tonne von Zeug(tutorials, Beispiele...).
Mit ZMQ es ist : Null ist für die Dokumentation.
Da ich einen C++ dev krank sagen es so. Bevor Sie versuchen, zu verwenden, ZMQ ich dachte boost hat schlechte Dokumentation und relativ wenige Beispiele im internet. Aber im Vergleich zu ZMQ-Boost-Dokumentation ist Super und die Beispiele sind zahlreich.
EDIT: um Dinge zu machen, mehr Spaß(Bürgerkrieg :P):
http://www.infoq.com/news/2012/03/Crossroads-IO
EDIT2: das kopieren und ausführen der Beispiele aus der Anleitung (cpp-version von "Ein Anfrage-Antwort-Broker")
funktioniert nicht.
Sie können sehen, wie gut die Bibliothek Entwicklungsprozess ist gut, durch die Tatsache, dass Sie nicht über Ihre Beispiele als tests. 😛
EDIT3: einige der Beispiele sind in v2.*, ofc neueste version ist v3.2. Also nochmal das riecht nach einer faulen unbetreut OS-Projekt.