ActiveMQ學習之通信協議

1、支持的通信協議

            ActiveMQ支持的client-broker通信協議有:TCP、NIO、UDP、SSL、HTTP(S)、VM網絡

            其中配置Transport  Connector的文件在ActiveMQ安裝目錄的conf/activemq.xml中的<TransportConnectors>標籤內tcp

            上圖中給出的配置信息中性能

            url描述信息的頭部都是採用協議名稱:例如上圖給出的ui

            描述amqp協議的監聽端口時,採用的url描述格式爲「amqp://........」網絡傳輸協議

            描述stomp協議的監聽端口時,採用的url描述格式爲「stomp://........」url

            惟獨在進行openwire協議進行描述時,url頭部採用的是"tcp://........"這是由於activeMQ中默認的消息協議就是openwirespa

2、Transmission  Control Protocol(TCP)

            一、這是默認的broker配置,TCP的Client監聽的端口爲61616操作系統

            二、在網絡傳輸協議以前,必需要序列化數據,消息是經過一個叫wire protocol的來序列化成字節流,線程

                  默認狀況下 ActiveMQ默認把wire protocol叫作openwire,目的是促使網絡上的效率和數據進行快速交互設計

            三、TCP鏈接的url形式以下:「tcp://hostname:port?key=value&key=value」後面的參數是可選的

            四、TCP傳輸的優勢:

                  4.一、TCP協議可靠性高,穩定性強

                  4.二、高效性:字節流方式傳輸,效率很高

                  4.三、有效性、可用性:應用普遍,支持任何平臺

3、NEW I/O API Protocol(NIO)

            一、NIO協議和TCP協議相似可是NIO更側重於底層訪問操做。它容許開發人員對統一資源可有更多的client調用和服務端有更多的負載

            二、適合NIO的應用場景:

                2.一、可能有大量的Client去鏈接到Broker上,通常狀況下,大量的client去鏈接Broker是被操做系統的線程所限制。所以,NIO的實現

                        比TCP須要更少的線程去運行,因此建議使用NIO協議

                2.二、可能對於Broker有一個很遲鈍的網絡傳輸,NIO比TCP提供更好的性能。

            三、NIO鏈接URI形式「nio://hostname:port?key=value&key=value」

            四、配置方式

                將下面這個配置到ActiveMQ安裝目錄的conf/activemq.xml中的<TransportConnectors>標籤內                

<transportConnector name="openwire" uri="nio://0.0.0.0:61618?trace=true"/>

4、Advanced Message Queuing Protocol(amqp協議)

            amqp協議是一個提供統一消息服務的應用層標準高級消息隊列協議,是應用層的協議的一個開放標準,爲面向消息的中間件設計,基於此協議的客戶端與消息中間件可傳遞消息,並不受客戶端/中間件不一樣產品,不一樣開發語言等條件限制。

5、Streaming Text Orientated  Message Protocol(stomp協議)

            流文本定向協議 ,是一種爲MOM(Message Oriented Middleware ),面向消息中間件設計的的簡單文本協議

6、Message Queuing  Telemetry Transport(MQTT協議)

            是IBM開發的即時通信協議,有可能成爲物聯網的重要組成部分,該協議支持全部的平臺,幾乎能夠把全部的聯網物品和外部鏈接起來,被用來當作傳感器和致動器(好比經過Twitter讓房屋聯網)的通信協議

相關文章
相關標籤/搜索