realme Watch 2 Pro 手錶將於 7 月 23 日在印度釋出
阿新 • • 發佈:2021-07-15
訊息系統
訊息系統和流系統
直接呼叫通常是用於諸如遠端過程呼叫的技術
訊息系統有很多,包括
Apache的 ActiveMQ RabbitMQ
Apache的 Kafka pulsar
Redis
場景:
非同步通訊 解耦 冗餘 緩衝 順序保證
擴充套件性 可恢復性 過載保護
協議:
Advanced Message Queuing Protocol AMQP 一個提供統一訊息服務的應用層標準高階訊息佇列協議, 是應用層協議的一個開放標準,為面向訊息的中介軟體設計 基於此協議的客戶端與訊息中介軟體可傳遞訊息, 並不受客戶端/中介軟體不同產品,不同的開發語言等條件的限制 MQTT協議 MQTT(Message Queuing Telemetry Transport,訊息佇列遙測傳輸)是IBM開發的一個即時通訊協議 STOMP(Streaming Text Orientated Message Protocol)是流文字定向訊息協議, 是一種為MOM(Message Oriented Middleware,面向訊息的中介軟體)設計的簡單文字協議。 XMPP(可擴充套件訊息處理現場協議,Extensible Messaging and Presence Protocol)是基於可擴充套件標記語言(XML)的協議, 多用於即時訊息(IM)以及線上現場探測 其他基於TCP/IP自定義的協議 有些特殊框架(如:redis、kafka、zeroMq等)根據自身需要未嚴格遵循MQ規範, 而是基於TCP\IP自行封裝了一套協議,通過網路socket介面進行傳輸,實現了MQ的功能
開發:
RabbitMQ 伺服器是用Erlang語言編寫的
ActiveMQ 是一個純Java程式
充分定義網路協議和訊息代理服務的功能語義
訊息交換的體系結構:
儲存轉發 多個訊息傳送者, 單個訊息接收者
分散式事務 多個訊息傳送者, 多個訊息接收者
釋出訂閱 多個訊息傳送者, 多個訊息接收者
基於內容的路由 多個訊息傳送者, 多個訊息接收者
檔案傳輸佇列 多個訊息傳送者, 多個訊息接收者
點對點連線 單個訊息傳送者, 單個訊息接收者