Heim >Java >javaLernprogramm >JMS Active MQ-Nachrichtenübertragung
Dieser Artikel verwendet Active MQ5.6
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.
transportConnectors Connectors: Es dient dazu, die Interaktion zwischen dem Broker, dem Nachrichtenproduzenten und dem Nachrichtenkonsumenten herzustellen.
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>
<transportConnectors><transportConnector name="ssl" uri="ssl://localhost:61619"/></transportConnectors>
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!