Einführung in das Nachrichtenwarteschlangen-Framework von Python

爱喝马黛茶的安东尼
Freigeben: 2019-06-25 18:03:37
Original
9396 Leute haben es durchsucht

Einführung in das Nachrichtenwarteschlangen-Framework von Python

Was sind die Python-Nachrichtenwarteschlangen-Frameworks? Hier sind einige nützliche Frameworks für Nachrichtenwarteschlangen:

RabbitMQ

ist eine in Erlang geschriebene Open-Source-Nachrichtenwarteschlange. Sie unterstützt viele Protokolle: AMQP, XMPP, SMTP, STOMP. Dies macht es sehr schwer und besser für die Entwicklung auf Unternehmensebene geeignet. Gleichzeitig wird eine Broker-Architektur (Broker) implementiert, was bedeutet, dass Nachrichten beim Senden an den Client zunächst in der zentralen Warteschlange eingereiht werden. Es bietet gute Unterstützung für Routing, Lastausgleich oder Datenpersistenz.

Einführung in das Nachrichtenwarteschlangen-Framework von Python

Redis

ist eine Schlüsselwert-NoSQL-Datenbank. Entwicklung und Wartung sind sehr aktiv, obwohl es sich um einen Schlüsselwert handelt Datenbankspeichersystem, unterstützt aber selbst die MQ-Funktion und kann daher als leichter Warteschlangendienst verwendet werden. Für die Enqueue- und Dequeue-Vorgänge von RabbitMQ und Redis wird jeder Vorgang 1 Million Mal ausgeführt und die Ausführungszeit wird alle 100.000 Mal aufgezeichnet. Die Testdaten sind in vier verschiedene Größen unterteilt: 128 Byte, 512 Byte, 1 KB und 10 KB. Experimente zeigen, dass die Leistung von Redis beim Eintritt in die Warteschlange höher ist als die von RabbitMQ, wenn die Datenmenge relativ klein ist. Wenn die Datengröße jedoch 10 KB überschreitet, ist Redis beim Verlassen der Warteschlange unerträglich langsam und Redis zeigt trotzdem eine sehr gute Leistung Die Datengröße und die Dequeue-Leistung von RabbitMQ sind viel geringer als die von Redis.

Einführung in das Nachrichtenwarteschlangen-Framework von Python

Verwandte Empfehlungen: „Python-Video-Tutorial

ZeroMQ

ist bekannt als das schnellste Nachrichtenwarteschlangensystem, insbesondere für Szenarien mit hohem Durchsatzbedarf. ZMQ kann erweiterte/komplexe Warteschlangen implementieren, in denen RabbitMQ nicht gut ist, aber Entwickler müssen selbst mehrere technische Frameworks kombinieren. Die technische Komplexität ist eine Herausforderung für die erfolgreiche Anwendung von MQ. ZeroMQ verfügt über ein einzigartiges Nicht-Middleware-Modell. Sie müssen keinen Nachrichtenserver oder Middleware installieren und ausführen, da Ihre Anwendung diese Servicerolle übernimmt. Sie müssen lediglich auf die ZeroMQ-Bibliothek verweisen, die mit NuGet installiert werden kann, und können dann problemlos Nachrichten zwischen Anwendungen senden. ZeroMQ bietet jedoch nur nicht persistente Warteschlangen, was bedeutet, dass die Daten verloren gehen, wenn die Maschine ausfällt. Unter anderem verwendet Twitters Storm ZeroMQ als Datenstromübertragung.

Einführung in das Nachrichtenwarteschlangen-Framework von Python

ActiveMQ

ist ein Unterprojekt unter Apache. Ähnlich wie ZeroMQ kann es Warteschlangen mit Broker- und Peer-to-Peer-Technologie implementieren. Gleichzeitig kann es, ähnlich wie RabbitMQ, komplexe Anwendungsszenarien mit wenig Code effizient implementieren. RabbitMQ, ZeroMQ und ActiveMQ unterstützen alle häufig verwendete mehrsprachige Clients C++, Java, .Net, Python, PHP, Ruby usw.

Einführung in das Nachrichtenwarteschlangen-Framework von Python

Jafka/Kafka

ist ein leistungsstarkes, sprachübergreifendes verteiltes Publish/Subscribe-Nachrichtenwarteschlangensystem, auf dem Jafka basiert Bei Kafka Incubated oben handelt es sich um eine aktualisierte Version von Kafka. Es verfügt über die folgenden Eigenschaften: schnelle Persistenz, die eine Nachrichtenpersistenz mit O(1)-System-Overhead durchführen kann, die eine Durchsatzrate von 10 W/s auf einem normalen Server erreichen kann, Broker, Producer und Verbraucher unterstützen alle nativ und automatisch die Verteilung und das parallele Laden von Hadoop-Daten. Dies ist eine praktikable Lösung für Protokolldaten und Offline-Analysesysteme wie Hadoop, die Einschränkungen bei der Echtzeitverarbeitung erfordern. Kafka vereinheitlicht die Online- und Offline-Nachrichtenverarbeitung durch den parallelen Lademechanismus von Hadoop, worauf auch das in diesem Projekt untersuchte System Wert legt. Apache Kafka ist im Vergleich zu ActiveMQ ein sehr schlankes Messaging-System. Neben einer sehr guten Leistung ist es auch ein gut funktionierendes verteiltes System.

Einführung in das Nachrichtenwarteschlangen-Framework von Python

Rocketmq

RocketMQ ist eine verteilte Messaging-Middleware, die 2012 von Alibaba als Open-Source-Lösung entwickelt wurde und an die Apache Software Foundation gespendet wurde. und wurde am 25. September 2017 zu einem Top-Level-Projekt von Apache. Als inländische Middleware, die viele „Superprojekte“ wie Alibabas Double Eleven erlebt und eine stabile und herausragende Leistung erzielt hat, wurde sie in den letzten Jahren aufgrund ihrer hohen Leistung, geringen Latenz und hohen Zuverlässigkeit verwendet durch inländische Unternehmen.

Einführung in das Nachrichtenwarteschlangen-Framework von Python

Das obige ist der detaillierte Inhalt vonEinführung in das Nachrichtenwarteschlangen-Framework von Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage