Heim >Java >javaLernprogramm >JMS Active MQ-Nachrichtenübertragung

JMS Active MQ-Nachrichtenübertragung

巴扎黑
巴扎黑Original
2017-06-26 11:38:451570Durchsuche

Dieser Artikel verwendet Active MQ5.6

1. Message Broker (Message Broker)

kaputt: Der Nachrichtenaustauscher ist der Container, der Nachrichten verwaltet. ActiveMQ kann mehrere Broker erstellen und tatsächlich mit dem Broker in ActiveMQ interagieren. Der Broker ist in ${MQ_HOME}confactivemq.xml konfiguriert.

2. Transportanschlüsse

( 1) Transportanschlüsse

transportConnectors Connectors: Es dient dazu, die Interaktion zwischen dem Broker, dem Nachrichtenproduzenten und dem Nachrichtenkonsumenten herzustellen.

Häufig verwendete Protokolle für Transportanschlüsse:

 Häufig verwendete Verbindungsprotokolle in Active MQ: tcp, udp, nio, ssl, http, https ,vm. Wenn Sie das SSL-Protokoll verwenden, müssen Sie ein Zertifikat konfigurieren. Wenn Sie http oder https verwenden, müssen Sie httpclient zum Senden und Empfangen von Nachrichten verwenden.

(1)TCP-Standardprotokoll

tcp://hostname:port?key=value&key=value Das Die folgenden Parameter sind optional
Vorteile der Verwendung des TCP-Protokolls

  • Effizient: Diese Protokollverbindung verwendet das OpenWire-Protokoll und durch die Konvertierung der Nachricht in einen Byte-Stream ist die Leistung sehr gut

  • Verfügbarkeit: TCP ist ein sehr weit verbreitetes Netzwerkprotokoll, das grundsätzlich von allen Plattformen unterstützt wird

TCP-Konfigurationsbeispiel conf/activemq.xml:

        <transportConnectors><!--activemq 的默认连接 tcp--><transportConnector name="openwire" uri="tcp://0.0.0.0:61616"/></transportConnectors>

(2), NIO
a Das NIO-Protokoll ähnelt dem TCP-Protokoll, NIO konzentriert sich jedoch mehr auf die zugrunde liegenden Zugriffsvorgänge. Dadurch können Entwickler für dieselbe Ressource mehr Clientaufrufe und eine höhere Auslastung des Servers durchführen.
b. Geeignete Szenarien für die Verwendung des NIO-Protokolls:
Es kann eine große Anzahl von Clients geben, die eine Verbindung zum Broker herstellen. Im Allgemeinen ist die Anzahl der Clients, die eine Verbindung zum Broker herstellen, durch die Anzahl der Threads im Betriebssystem begrenzt . Daher erfordert die Implementierung von NIO weniger Threads zur Ausführung als TCP, daher wird die Verwendung des NIO-Protokolls empfohlen
Kann eine sehr langsame Netzwerkübertragung für den Broker haben. NIO bietet eine bessere Leistung als TCP
c Verbindungsformat: nio://hostname:port?key=value Die folgenden Parameter sind optional

d, NIO-Konfigurationsinstanz conf/activemq.xml:

         <transportConnectors><!-- 设置一个NIO的连接--><transportConnector name="nio" uri="nio://0.0.0.0:61617"/></transportConnectors>

(3), UDP

 a. Der Unterschied zwischen UDP und TCP

  • TCP ist eine Raw-Stream-Lieferung Protokoll bedeutet, dass das Datenpaket garantiert ist, das heißt, das Datenpaket wird nicht kopiert und geht nicht verloren. UDP hingegen garantiert nicht die Zustellung von Datenpaketen

  • TCP ist ebenfalls ein stabiles und zuverlässiges Datenpaketzustellungsprotokoll, was bedeutet, dass die Daten nicht verloren gehen. Dadurch ist eine zuverlässige Kommunikation zwischen Sender und Empfänger gewährleistet. Im Gegenteil, UDP ist nur ein Verbindungsprotokoll und weist daher keine Zuverlässigkeit auf.

  • TCP wird in stabilen und zuverlässigen Szenarien verwendet. UDP wird normalerweise für schnelle und zuverlässige Datenübertragungen verwendet des Datenverlusts und wenn ActiveMQ die Firewall passiert, nur UDP

b. URI-Form der UDP-Verbindung: udp://hostname:port?key=value

c. Konfigurationsinstanz conf/activemq.xml

        <transportConnectors><transportConnector name="udp" uri="udp://localhost:61618"/></transportConnectors>

(4), SSL

Die Unterseite Schicht ist das TCP-Protokoll, aber die übertragenen Daten sind verschlüsselt
a. Anwendbare Szenarien: MQ ist dem externen Netzwerk ausgesetzt und erfordert die Kommunikation zwischen dem Client und dem Broker

b - 1. SSL-Protokoll erstellen:
b-2. Konfigurieren Sie das Broker-SSL-Protokoll conf/activemq.xml:

       <sslContext><sslContext keyStore="F:/beifeng/apache-activemq-5.6.0/conf/mybroker.ks"  keyStorePassword="test123" />   </sslContext>
b-3. Konfigurieren Sie das Client-SSL-Protokoll:

c. URI-Form der SSL-Verbindung: ssl://hostname:port?key=value

d. Konfigurationsbeispiel conf/activemq.xml

        <transportConnectors><transportConnector name="ssl" uri="ssl://localhost:61619"/></transportConnectors>
(5) HTTP, HTTPS

a. Empfangen von MQ-Nachrichten des HTTP-Protokolls über den Jetty-Container

b. Wird verwendet, um nur die Weiterleitung grundlegender HTTP-Dienste zu ermöglichen Umgebung
c. Um Nachrichten über httpclient zu senden/empfangen, müssen Sie zusätzliche Java-Pakete Httpclient, Xstream, activemq-optional
d, URI: http://hostname:port?key=value
e. Konfigurieren Sie die Instanz conf/activemq.xml:

     <transportConnectors><transportConnector name="http" uri="http://localhost:8080"/></transportConnectors>
Um HTTPS zu konfigurieren, müssen Sie das entsprechende Zertifikat HTTPS= HTTP+SSL in jetty.xml konfigurieren

(2) Netzwerkanschlüsse (NetWorkConnectors)

NetWorkConnectors: werden für die Interaktion zwischen Broke und Broke verwendet, hauptsächlich bei der Bereitstellung eines ActiveMq-Clusters.

Das obige ist der detaillierte Inhalt vonJMS Active MQ-Nachrichtenübertragung. 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