更新時間:2021-06-11 來源:黑馬程序員 瀏覽量:
消息中間件常用協(xié)議有哪些?
AMQP協(xié)議
AMQP即Advanced Message Queuing Protocol,一個提供統(tǒng)一消息服務的應用層標準高級消息隊列協(xié)議,是應用層協(xié)議的一個開放標準,為面向消息的中間件設計。基于此協(xié)議的客戶端與消息中間件可傳遞消息,并不受客戶端/中間件不同產品,不同開發(fā)語言等條件的限制。
優(yōu)點:可靠、通用。
MQTT協(xié)議
MQTT(Message Queuing Telemetry Transport,消息隊列遙測傳輸)是IBM 開發(fā)的一個即時通訊協(xié)議,有可能成為物聯(lián)網(wǎng)的重要組成部分。該協(xié)議支持所有平臺,幾乎可以把所有聯(lián)網(wǎng)物品和外部連接起來,被用來當做傳感器和致動器(比如通過Twitter 讓房屋聯(lián)網(wǎng))的通信協(xié)議。
優(yōu)點:格式簡潔、占用帶寬小、移動端通信、PUSH、嵌入式系統(tǒng)。
STOMP協(xié)議
STOMP(Streaming Text Orientated Message Protocol)是流文本定向消息協(xié)議,是一種為MOM(Message Oriented Middleware,面向消息的中間件)設計的簡單文本協(xié)議。STOMP 提供一個可互操作的連接格式,允許客戶端與任意STOMP 消息代理(Broker)進行交互。
優(yōu)點:命令模式(非topic\queue 模式)。
XMPP協(xié)議
XMPP(可擴展消息處理現(xiàn)場協(xié)議,Extensible Messaging and Presence Protocol)是基于可擴展標記語言(XML)的協(xié)議,多用于即時消息(IM)以及在線現(xiàn)場探測。適用于服務器之間的準即時操作。核心是基于XML 流傳輸,這個協(xié)議可能最終允許因特網(wǎng)用戶向因特網(wǎng)上的其他任何人發(fā)送即時消息,即使其操作系統(tǒng)和瀏覽器不同。
優(yōu)點:通用公開、兼容性強、可擴展、安全性高,但XML 編碼格式占用帶寬大。
其他基于TCP/IP 自定義的協(xié)議
有些特殊框架(如:Redis、kafka、zeroMq等根據(jù)自身需要未嚴格遵循MQ 規(guī)范,而是基于TCP\IP自行封裝了一套協(xié)議,通過網(wǎng)絡socket接口進行傳輸,實現(xiàn)了MQ的功能。
猜你喜歡:
Spring中的JDK動態(tài)代理是如何實現(xiàn)的?