Heim  >  Artikel  >  Was sind Nachrichtenwarteschlangen?

Was sind Nachrichtenwarteschlangen?

hzc
hzcOriginal
2020-06-29 11:30:5914711Durchsuche

Zu den Nachrichtenwarteschlangen gehören: 1. RabbitMQ, ein wiederverwendbares Unternehmens-Messaging-System auf Basis von AMQP, ist derzeit eine der gängigsten Nachrichten-Middlewares. 2. ActiveMQ, eine vollständig unterstützte [JMS-Provider]-Implementierung von JMS1.1 und J2EE1.4-Spezifikationen.

Was sind Nachrichtenwarteschlangen?

1 RabbitMQ

RabbitMQ wurde 2007 veröffentlicht und basiert auf AMQP (Advanced Message Queuing Protocol A). Da es sich um ein wiederverwendbares Unternehmens-Messaging-System handelt, ist es derzeit eine der am weitesten verbreiteten Messaging-Middleware.

Hauptmerkmale:

  • Zuverlässigkeit: Bietet eine Vielzahl von Technologien, mit denen Sie Leistung und Zuverlässigkeit abwägen können. Zu diesen Technologien gehören Persistenzmechanismen, Zustellbestätigungen, Herausgeberbestätigungen und Hochverfügbarkeitsmechanismen.

  • Flexibles Routing: Nachrichten werden über Switches weitergeleitet, bevor sie die Warteschlange erreichen. RabbitMQ bietet mehrere integrierte Switch-Typen für typische Routing-Logik. Wenn Sie komplexere Routing-Anforderungen haben, können Sie diese Switches kombinieren. Sie können sogar Ihren eigenen Switch-Typ implementieren und ihn als RabbitMQ-Plugin verwenden: in Multiple RabbitMQ Server im selben LAN können zusammengefasst und als unabhängiger logischer Proxy verwendet werden.

  • Hohe Verfügbarkeit der Warteschlange: Die Warteschlange kann auf Maschinen im Cluster gespiegelt werden, um die Nachrichtensicherheit trotz Hardwareproblemen zu gewährleisten ;

  • Unterstützung mehrerer Protokolle; die Serverseite ist in Erlang-Sprache geschrieben und unterstützt alle erdenklichen Programmiersprachen;

    Verwaltungsoberfläche: RabbitMQ verfügt über eine benutzerfreundliche Benutzeroberfläche, mit der Benutzer viele Aspekte des Nachrichtenbrokers überwachen und verwalten können.
  • Tracking-Mechanismus: Wenn die Nachricht abnormal ist , RabbitMQ bietet einen Nachrichtenverfolgungsmechanismus, mit dem Benutzer herausfinden können, was passiert ist eigenes Plug-in;
  • 2 ActiveMQ
  • ActiveMQ ist eine vollständige Unterstützung für JMS1.1 und J2EE 1.4 Standard Implementierung des JMS-Anbieters. Es ist sehr schnell, unterstützt mehrere Sprachclients und Protokolle, kann problemlos in Unternehmensanwendungsumgebungen eingebettet werden und verfügt über viele erweiterte Funktionen.
  • Hauptmerkmale:

Entspricht der JMS-Spezifikation: Die JMS-Spezifikation bietet gute Standards und Garantien, einschließlich: synchrone oder asynchrone Nachrichtenverteilung, einmalige Nachrichtenverteilung, Nachrichtenverteilung Empfang und Abonnement usw. Der Vorteil der Einhaltung der JMS-Spezifikation besteht darin, dass diese grundlegenden Funktionen unabhängig davon verfügbar sind, welcher JMS-Implementierungsanbieter verwendet wird;

Konnektivität: ActiveMQ bietet eine breite Palette an Verbindungsoptionen und die unterstützten Protokolle sind: HTTP/S, IP Multicast, SSL, STOMP, TCP, UDP, XMPP und mehr. Die Unterstützung vieler Protokolle verleiht ActiveMQ große Flexibilität.

Unterstützt viele Protokolle: OpenWire, STOMP, REST, XMPP, AMQP;
  • Persistenz-Plug-in und Sicherheits-Plug-in: ActiveMQ bietet Mehrere Persistenzoptionen. Darüber hinaus kann die Sicherheit von ActiveMQ auch für die Authentifizierung und Autorisierung vollständig an die Benutzeranforderungen angepasst werden.
  • unterstützt viele Arten von Clientsprachen: Neben Java gibt es auch: C/; C++, .NET, Perl, PHP, Python, Ruby;
  • Broker-Cluster: Mehrere ActiveMQ-Broker können einen Cluster bilden, um Dienste bereitzustellen; >Außergewöhnlich einfache Verwaltung: ActiveMQ wurde speziell für Entwickler entwickelt. Daher ist kein dedizierter Administrator erforderlich, da einfache und benutzerfreundliche Verwaltungsfunktionen bereitgestellt werden. Es gibt viele Möglichkeiten, Daten auf verschiedenen Ebenen von ActiveMQ zu überwachen, einschließlich der Verwendung von JMX in JConsole oder der Webkonsole von ActiveMQ, durch die Verarbeitung von JMX-Alarmmeldungen, durch die Verwendung von Befehlszeilenskripts. Sie können sogar verschiedene Arten von Protokollen überwachen.

3 RocketMQ

RocketMQ ist ein Open-Source-Produkt von Alibaba. Es ist in der Java-Sprache implementiert und hat einige davon erstellt Seine eigene Verbesserung, die Nachrichtenzuverlässigkeit ist besser als bei Kafka. RocketMQ wird in der Alibaba Group häufig für Bestellungen, Transaktionen, Aufladungen, Stream-Computing, Nachrichten-Push, Protokoll-Streaming, Binglog-Verteilung und andere Szenarien verwendet.

  • ist eine Warteschlangenmodell-Nachrichten-Middleware mit hoher Leistung, hoher Zuverlässigkeit, hohen Echtzeit- und verteilten Eigenschaften

  • Produzent, Verbraucher, Warteschlangen können alle verteilt werden;

  • Der Produzent sendet Nachrichten nacheinander an einige Warteschlangen. Der Warteschlangensatz wird als Thema bezeichnet. Wenn der Verbraucher einen Broadcast-Verbrauch durchführt, verbraucht eine Verbraucherinstanz alle entsprechenden Warteschlangen Thema. Wenn Sie einen Clusterverbrauch durchführen,

  • können mehrere Verbraucherinstanzen im Durchschnitt den diesem Thema entsprechenden Warteschlangensatz verbrauchen Strikte Nachrichtenreihenfolge. ;

  • Bieten Sie einen Rich-Message-Pull-Modus;

  • Effiziente Erweiterungsmöglichkeit auf Abonnentenebene;

  • Mechanismus zum Abonnieren von Nachrichten in Echtzeit

  • Milliardenfache Nachrichtenakkumulation;

  • 4 Kafka

  • Apache Kafka ist ein verteiltes System zum Veröffentlichen und Abonnieren von Nachrichten. Es wurde ursprünglich von LinkedIn als verteiltes Festschreibungsprotokollsystem (ein verteiltes Festschreibungsprotokoll) basierend auf einem einzigartigen Design implementiert und wurde später Teil des Apache-Projekts. Kafka-Systeme sind schnell, skalierbar und langlebig. Seine Partitionierungseigenschaften, Reproduzierbarkeit und Fehlertoleranz sind allesamt gute Eigenschaften.
  • Schnelle Persistenz, Nachrichtenpersistenz kann mit O(1)-System-Overhead durchgeführt werden;

Hoher Durchsatz, auf einem normalen Computer Der Durchsatz Auf dem Server kann eine Rate von 10 W/s erreicht werden. Ein vollständig verteiltes System, Broker, Produzent und Verbraucher unterstützen alle nativ und automatisch den Lastausgleich >

Unterstützt sowohl synchrone als auch asynchrone Replikation HA; Zero-Copy: IO-Betriebsschritte reduzieren
  • Datenmigration und -erweiterung sind für Benutzer transparent
  • Maschinen können ohne Ausfallzeiten erweitert werden; 🎜>
  • Weitere Funktionen: strikte Nachrichtenreihenfolge, umfangreiches Nachrichten-Pull-Modell, effiziente horizontale Abonnentenerweiterung, Nachrichtenabonnement in Echtzeit, Fähigkeit zur Nachrichtenakkumulation auf Milliardenebene, regelmäßiger Löschmechanismus; >

Das obige ist der detaillierte Inhalt vonWas sind Nachrichtenwarteschlangen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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