Unterschiede zwischen AMQP und ZeroMQ
Kurzem Blick in diese AMQP (RabbitMQ, ActiveMQ) und ZeroMQ Technologien, interessiert zu sein in verteilten Systemen/Berechnung. War Googeln und StackOverflow ' Ing um, konnte Sie nicht finden, einen definitiven Vergleich zwischen den beiden.
Am weitesten, die ich habe ist, dass die beiden nicht wirklich vergleichbar, aber ich möchte wissen, die Unterschiede. Es scheint mir, ZeroMQ ist mehr dezentrale (nicht message-broker-spielen Mitte-Mann-handling-Nachrichten/guarenteering Lieferung) und als solche wird schneller, aber Sie ist nicht dazu gedacht, ein vollwertiges system, aber etwas gehandhabt werden programmgesteuert, so etwas wie die Schauspieler.
AMQP auf der anderen Seite scheint zu einem vollwertigen system, mit einem zentralen message-broker garantiert eine zuverlässige Lieferung, aber langsamer als ZeroMQ, weil dieser. Allerdings ist das zentrale broker schafft einen single point of failure.
Vielleicht eine Metapher wäre, client/server vs. P2P?
Sind meine Erkenntnisse wahr? Auch, was wären die Vorteile, Nachteile, oder verwenden Sie die Fälle der Verwendung der einen oder der anderen? Ein Vergleich der Verwendungen von *MQ vs. etwas wie Akka Actors wäre schön.
BEARBEITEN Habe ein wenig mehr umgesehen.. ZeroMQ scheint der neue Anwärter auf AMQP, scheint deutlich schneller zu sein, nur Problem wäre die Annahme/Implementierungen?
InformationsquelleAutor der Frage adelbertc | 2012-09-28
Du musst angemeldet sein, um einen Kommentar abzugeben.
AMQP ist ein Protokoll. ZeroMQ ist eine messaging-Bibliothek.
AMQP bietet flow control und zuverlässige Lieferung. Es definiert den standard, aber die extensible meta-Daten für Nachrichten (z.B. reply-to, time-to-live, plus jede Anwendung definiert Header). ZeroMQ stellt einfach Nachricht Abgrenzung (d.h. brechen ein byte-stream in atomaren Einheiten), und übernimmt die Eigenschaften des zugrunde liegenden Protokolls (z.B. TCP) ausreichend sind oder dass die Anwendung bauen, die zusätzliche Funktionen für die Ablaufsteuerung, Zuverlässigkeit oder was auch immer oben auf der ZeroMQ.
Obwohl frühere Versionen von AMQP definiert wurden entlang client/server-Linien und daher ein broker, das ist nicht mehr wahr, von AMQP 1.0, das im Kern eine symmetrische, peer-to-peer-Protokoll. Regeln für intermediäre (z.B. Broker) geschichtet sind. Der link von Alexis Vergleich der vermittelten und brokerless gibt eine gute Beschreibung der Vorteile, die ein solcher Vermittler anbieten können. AMQP definiert die Regeln für die Interoperabilität zwischen verschiedenen Komponenten - clients, smart clients, Makler, bridges, Router usw. -
solch ein system kann zusammengesetzt werden, indem Sie die Teile, die nützlich sind.
InformationsquelleAutor der Antwort Gordon Sim
Hier ist eine Recht ausführliche Gegenüberstellung von AMQP und 0MQ: http://www.zeromq.org/docs:welcome-from-amqp
Beachten Sie, dass 0MQ ist auch ein Protokoll (ZMTP) mit mehreren Implementierungen, und eine Gemeinschaft.
InformationsquelleAutor der Antwort Pieter Hintjens
In ZeroMQ gibt es KEINE WARTESCHLANGEN an alle, daher der name. Es stellt lediglich eine Möglichkeit zur Nutzung von messaging-Semantik, über die sonst gewöhnliche Steckdosen.
AMQP standard-Protokoll für message-queueing, die dazu genutzt werden, um mit einem message-broker-handling-all-Nachricht sendet und empfängt. Es hat eine Menge features, die verfügbar sind, weil es Trichter alle message-Verkehr durch einen Makler. Das klingt langsam, aber es ist eigentlich ganz schnell, wenn in einem Daten-Center, in dem die host-zu-host-Wartezeiten sind winzig.
InformationsquelleAutor der Antwort Michael Dillon
Ich bin mir nicht wirklich sicher, wie um auf Ihre Frage Antworten, die den Vergleich zwischen einer Menge verschiedener Dinge... aber sehen das die helfen können Sie beginnen zu Graben, in diesen Fragen: http://www.rabbitmq.com/blog/2010/09/22/broker-vs-brokerless/
InformationsquelleAutor der Antwort alexis
Broker-weniger ist irreführend, da im Vergleich zu message-Broker wie ActiveMQ, QPid, Kafka-für eine einfache Verdrahtung.
Ist es nützlich und kann verwendet werden, um hotspots zu reduzieren, Netzwerk-hops und damit die Latenzzeit, da wir die Zuverlässigkeit, store-and-forward-Funktion und hohen Anforderungen an die Verfügbarkeit haben, müssen Sie wahrscheinlich eine verteilte broker service zusammen mit einer Warteschlange für den Austausch von Daten zu unterstützen, eine lose Kopplung - Entkopplung in der Zeit - dieser Topologie und Architektur umgesetzt werden können, mit ZeroMQ, die Sie haben zu prüfen, Ihre use cases und sehen Sie, wenn asynchrones messaging erforderlich ist, und wenn ja, wo ZeroMQ passen würde, es hat eine gute Rolle in der Lösung wird angezeigt und eine angemessene Kenntnisse der TCP/IP-und socket-Programmierung helfen würde, Sie zu schätzen wissen, alle anderen wie ZeroMQ, AMQP, etc.
InformationsquelleAutor der Antwort Sram
AMQP (Advanced Message Queuing Protocol) ist ein standard-Binär-Draht-level-Protokoll, das es ermöglicht, fähigen client-Anwendungen kommunizieren mit konformen messaging-middleware-Broker. AMQP erlaubt cross-Plattform-Dienste/- Systeme zwischen verschiedenen Unternehmen oder innerhalb des Unternehmens, um einen einfachen Austausch von Nachrichten zwischen einander unabhängig von der message-broker-Anbieter und Plattform. Es gibt viele Broker, die implementiert das AMQP-Protokoll wie RabbitMQ, Apache QPid, Apache, Apollo usw.
ZeroMQ ist eine high-performance-asynchrone messaging-Bibliothek zielt auf den Einsatz in skalierbaren, verteilten oder gleichzeitige Anwendungen. Es stellt eine message-queue, aber im Gegensatz zu message-oriented middleware, eine ØMQ-system ausgeführt werden können, ohne einen dedizierten Kommunikationsserver.
InformationsquelleAutor der Antwort java_geek