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