訊息中介軟體(之一) 訊息中介軟體設計

2021-10-04 21:40:40 字數 1254 閱讀 7185

什麼是訊息中介軟體

訊息中介軟體常見協議

訊息持久化

訊息分發

高可用策略

高可靠利用高效,可靠的訊息傳遞機制進行平台無關的資料交流;基於資料通訊來進行分布式系統的整合;通過提供訊息傳遞和訊息排隊模型,在分布式環境下擴充套件程序間的通訊。

跨系統資料傳遞,高併發流量削峰,資料非同步處理等。

activemq,rabbitmq,kafka,rocketmq

一種具備接收請求,儲存資料,傳送資料等功能的網路應用。和一般網路應用程式的區別是它主要負責資料的接收和傳遞,因此效能高於普通程式。

協議持久化機制

訊息分發機制

高可用機制

高可靠設計

是計算機之間通訊時共同遵從的一組約定。是對於資料格式和計算機之間交換資料是必須遵守的規則的正式描述。

語法:資料與控制資訊的結構或格式。

語義:需要發出何種控制資訊,完成克重動作以及做出何種響應。

時序(同步):事件實現順序的詳細說明。

協議名稱

應用場景

特性支援的mq

amqp(advanced message queuing protocol)

高階訊息佇列協議

金融行業

事務支援,持久化支援,高可靠性

activemq,rabbitmq

mqtt(message queuing telemetry transport)

物聯網輕量,結構簡單傳輸快,無事務,低頻寬,網路不穩定

activemq,rabbitmq

open message協議

流處理結構簡單,解析快,支援事務,持久化

apache rocketmq

kafka 協議

二進位制協議

結構簡單,解析快,不支援事務,持久化

kafka

將資料存入磁碟,而不是隨著服務重啟而消失,使資料能夠永久儲存。

activemq

rabbitmq

kafka

rocketmq

檔案系統

支援支援

支援支援

資料庫支援//

/activemq

rabbitmq

kafka

rocketmq

發布訂閱

支援支援

支援支援

輪詢分發

支援支援支援/

公平分發/支援

支援/重發支援支援/

支援訊息拉取/支援

支援支援

訊息中介軟體

1.訊息的優先順序 2.訊息排序 3.訊息過濾 4.訊息持久化 5.訊息重試 6.事務的支援 7.broker滿 生產者,佇列,消費者 訊息佇列的優點 1 解耦2 非同步訊息,系統響應 在jms中,有兩種訊息模型 點對點模式和發布訂閱模式。1.在點對點模式中 有三種角色 1 訊息佇列,傳送者,接受者...

訊息中介軟體

如何理解訊息中介軟體?訊息中介軟體是儲存訊息的乙個容器,與資料庫不同的是資料庫儲存的資料是可以被修改的,而訊息中介軟體一般不會被修改 訊息中介軟體在消費的生產者與消費者產生,相當於乙個中間人的角色,提供了路由保證訊息的傳遞,如果消費者不能及時接收,訊息會保留下來,知道消費者上線 保證在存活期內 訊息...

訊息中介軟體

訊息中介軟體是在訊息的傳輸過程中儲存訊息 訊息傳遞過程中不能更改 的容器。訊息中介軟體再將訊息從它的原中繼到它的目標時充當中間人的作用。訊息中介軟體的主要目的是提供路由並保證訊息的傳遞 如果傳送訊息時接收者不可用,訊息佇列會保留訊息,知道可以成功傳遞為止,當然,訊息佇列儲存訊息也是有期限的。訊息傳送...