이 글에서는 Active MQ5.6을 사용합니다.
broke: 메시지 교환기는 메시지를 관리하는 컨테이너입니다. ActiveMQ는 여러 브로커를 생성할 수 있습니다. 클라이언트는 ActiveMQ와 상호 작용하며 실제로 ActiveMQ의 브로커와 상호 작용합니다. 브로커는 ${MQ_HOME}confactivemq.xml에 구성되어 있습니다.
transportConnectors 커넥터: 브로커, 메시지 생성자 및 메시지 소비자 간의 상호 작용을 설정합니다.
Active MQ에서 일반적으로 사용되는 연결 프로토콜: tcp, udp, nio, ssl, http, https, vm. SSL 프로토콜을 사용하는 경우 인증서를 구성해야 합니다. http 또는 https를 사용하는 경우 메시지를 보내고 받으려면 httpclient를 사용해야 합니다.
(1)TCP 기본 프로토콜
tcp://hostname:port?key=value&key=value 다음 매개 변수는 선택 사항입니다.
TCP 프로토콜 사용의 이점
효율적: 이 프로토콜 연결은 메시지를 바이트 스트림으로 변환하여 성능이 매우 좋습니다. 유용성: TCP는 기본적으로 모든 플랫폼에서 이를 지원합니다. conf/activemq .xml:
(2), NIO
b. NIO 프로토콜 사용에 적합한 시나리오:
브로커에 연결되는 클라이언트 수가 많을 수 있습니다. 일반적으로 브로커에 연결하는 클라이언트 수는 운영 체제의 스레드 수에 따라 제한됩니다. 따라서 NIO 구현에는 TCP보다 더 적은 수의 스레드가 필요하므로 NIO 프로토콜을 사용하는 것이 좋습니다. NIO는 NIO URI 형식보다 네트워크 전송 속도가 매우 느릴 수 있습니다. 연결: nio: //hostname:port?key=value 다음 매개변수는 선택사항입니다. d, NIO 구성 예 conf/activemq.xml: <transportConnectors><!--activemq 的默认连接 tcp--><transportConnector name="openwire" uri="tcp://0.0.0.0:61616"/></transportConnectors>
(3), UDP
a. UDP와 TCP의 차이점
TCP는 안정적이고 신뢰할 수 있는 데이터 패킷 전달 프로토콜이므로 전달 과정에서 데이터가 손실되지 않습니다. 이를 통해 발신자와 수신자 간의 안정적인 통신이 보장됩니다. 반대로 UDP는 링크 프로토콜일 뿐이므로 신뢰성이 없습니다.
TCP는 안정적이고 신뢰할 수 있는 시나리오에서 사용됩니다. UDP는 일반적으로 빠른 데이터 전송이 데이터 손실을 두려워하지 않는 시나리오에서 사용되며 ActiveMQ가 통과할 때 방화벽을 통과하면 UDP
만 사용할 수 있습니다. b. UDP 연결의 URI 형식: udp://hostname:port?key=value
<transportConnectors><!-- 设置一个NIO的连接--><transportConnector name="nio" uri="nio://0.0.0.0:61617"/></transportConnectors>
(4) SSL
하위 계층은 TCP 프로토콜이지만 전송되는 데이터는 암호화됩니다
a 적용 가능한 시나리오: MQ는 외부 네트워크에 노출되어 클라이언트와 브로커 간의 통신이 필요합니다b. : <transportConnectors><transportConnector name="udp" uri="udp://localhost:61618"/></transportConnectors>
b-3. 클라이언트 SSL 프로토콜 구성:
d, 구성 예 conf/activemq.xml
<sslContext><sslContext keyStore="F:/beifeng/apache-activemq-5.6.0/conf/mybroker.ks" keyStorePassword="test123" /> </sslContext>(5) HTTP, HTTPSa, 부두 컨테이너를 통해 http 프로토콜의 mq 메시지 수신
b , 기본 HTTP 서비스만 통과하도록 허용하는 네트워크 환경의 경우c. httpclient를 통해 메시지를 보내고 받으려면 추가 Java 패키지 Httpclient, Xstream, activemq-ional
d, URI: http://hostname:port를 추가해야 합니다. ?key= valuee, 인스턴스 conf/activemq.xml 구성:<transportConnectors><transportConnector name="ssl" uri="ssl://localhost:61619"/></transportConnectors>HTTPS를 구성하려면 jetty.xml에서 관련 인증서를 구성해야 합니다. HTTPS= HTTP+SSL (2.) 네트워크 커넥터( NetWorkConnectors)
NetWorkConnectors : 주로 ActiveMq 클러스터를 배포할 때 Broke와 Broke 간의 상호 작용에 사용됩니다.
위 내용은 JMS 활성 MQ 메시지 전송의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!