首先我們需要明確地提出訊息中介軟體的幾個重要角色,分別是生產者、消費者、broker、註冊中心。
簡述下訊息中介軟體資料流轉過程,無非就是生產者生成訊息,傳送至 broker,broker 可以暫緩訊息,然後消費者再從 broker 獲取訊息,用於消費。
而註冊中心用於服務的發現包括:broker 的發現、生產者的發現、消費者的發現,當然還包括下線,可以說服務的高可用離不開註冊中心。
為了考慮擴容和整體的效能,採用分布式的思想,像 kafka 一樣採取分割槽理念,乙個 topic 分為多個 partition,並且為保證資料可靠性,採取多副本儲存,即 leader 和 follower,根據效能和資料可靠的權衡提供非同步和同步的刷盤儲存。
並且利用選舉演算法保證 leader 掛了之後 follower 可以頂上,保證訊息佇列的高可用。
也同樣為了提高訊息佇列的可靠性利用本地檔案系統來儲存訊息,並且採用順序寫的方式來提高效能。
可根據訊息佇列的特性利用記憶體對映、零拷貝進一步的提公升效能,還可利用像 kafka 這種批處理思想提高整體的吞吐。
訊息中介軟體
1.訊息的優先順序 2.訊息排序 3.訊息過濾 4.訊息持久化 5.訊息重試 6.事務的支援 7.broker滿 生產者,佇列,消費者 訊息佇列的優點 1 解耦2 非同步訊息,系統響應 在jms中,有兩種訊息模型 點對點模式和發布訂閱模式。1.在點對點模式中 有三種角色 1 訊息佇列,傳送者,接受者...
訊息中介軟體
如何理解訊息中介軟體?訊息中介軟體是儲存訊息的乙個容器,與資料庫不同的是資料庫儲存的資料是可以被修改的,而訊息中介軟體一般不會被修改 訊息中介軟體在消費的生產者與消費者產生,相當於乙個中間人的角色,提供了路由保證訊息的傳遞,如果消費者不能及時接收,訊息會保留下來,知道消費者上線 保證在存活期內 訊息...
訊息中介軟體
訊息中介軟體是在訊息的傳輸過程中儲存訊息 訊息傳遞過程中不能更改 的容器。訊息中介軟體再將訊息從它的原中繼到它的目標時充當中間人的作用。訊息中介軟體的主要目的是提供路由並保證訊息的傳遞 如果傳送訊息時接收者不可用,訊息佇列會保留訊息,知道可以成功傳遞為止,當然,訊息佇列儲存訊息也是有期限的。訊息傳送...