世界上並沒有完美的程式,但是我們並不因此而沮喪,因為寫程式就是乙個不斷追求完美的過程。
接受資料
儲存資料
傳送資料
協議
持久化機制
訊息分發機制
高可用設計
高可靠設計
計算機資料交換時共同遵循的資料格式
協議三要素
語法:資訊的結構和格式
語義:訊息內容
時序:請求響應的順序
訊息中介軟體中用到的協議
openwire
amqp
mqtt
kafka
openmessage
amqp(摩根大通)
特性(可靠性好)
事務支援
持久化支援
應用場景
金融
中介軟體
rabbitmq
activemq
mqtt(ibm)
特性(輕量級)
沒有事務支援
沒有持久化支援
結構簡單
傳輸快
應用場景
物聯網
中介軟體
rabbitmq
activemq
** openmessage(阿里、雅虎、滴滴等)**
特性
事務支援
持久化支援
結構簡單
解析快
中介軟體
rocketmq
** kafka(基於tcp的二進位制協議,通過長度分隔)**
特性
沒有事務支援(前期版本)
持久化支援
結構簡單
解析快
中介軟體
kafka
方式
檔案系統:activemq rabbitmq kafka rocketmq
資料庫:activemq
模式
pull拉取
push推送
為什麼要有訊息分發策略
正確分發
重試
分發策略
發布訂閱:activemq rabbitmq kafka rocketmq
輪詢分發:activemq rabbitmq kafka
公平分發:rabbitmq kafka
重發:activemq rabbitmq rocketmq
訊息拉取:rabbitmq kafka rocketmq
產品在規定的條件和規定的時間內完成規定的功能
訊息中介軟體的高可用
當業務量大時,一台訊息中介軟體伺服器無法滿足需求,要能夠集群部署,達到高可用
分布式集群方式
主從共享(主從共享同乙個檔案系統或資料庫)
主從同步(主從有自己的檔案系統或資料庫,通過資料同步的方式保持一致)
多主同步(多主檔案系統或資料庫之間資料相互同步)
多主**(多主之間資料不同步,但是可以相互呼叫)
組合(負載 + 主從)
無障礙的執行
保證可靠性
訊息傳輸可靠性:通過協議保證系統間資料解析的正確性
訊息儲存的可靠性:通過持久化保證資料儲存的可靠性
訊息中介軟體系列一 訊息中介軟體的基本了解
前言 這是中介軟體乙個系列的文章之一,有需要的朋友可以看看這個系列的其他文章 訊息中介軟體系列 一 訊息中介軟體的基本了解 訊息中介軟體系列二 windows下的activemq和rabbitmq的安裝 訊息中介軟體系列三 jms和activemq的簡單使用 訊息中介軟體系列 四 認識amqp和ra...
知識鏈 訊息中介軟體
訊息中介軟體 kafka kafka它本質上是乙個訊息系統,不同於傳統的企業資訊佇列系統,它是以近乎實時的方式處理流經乙個公司的所有資料,目前已經服務於linkedin netflix uber以及verizon,並為此建立了實時資訊處理平台。應用場景 1.kafka可以應用於訊息系統,比如,當下較...
訊息中介軟體的學習
使用者名稱密碼預設為admin 第二種以服務啟動 installservice.bat以管理員身份執行 服務中有activemq linux 解壓壓縮包 進入bin 輸入 activemq start,啟動完成 系統環境變數配置 變數名 rocketmq home 變數值 mq解壓路徑 mq資料夾名...