最近公司中間消息層要migration到Solace。
來了解下Solace這個中間消息件 - Solace cloud。
對比之前其他項目中使用的Apache的AQ, WebSphere的MQ,以及其他如Rabbit MQ。
參考:
https://www.cnblogs.com/JonaLin/p/11547400.html
https://www.cnblogs.com/JonaLin/p/11547430.html
傳統意義上來講, 每當我們談到消息中間件時, 首先想到的是基於Message Queue,有Apache的 Active MQ, IBM的Webshere的 MQ, Rabbit MQ都是基於內存/持久化到磁盤來實現的.
還有一種Oracle Advance MQ, 這是一種基於oracle數據庫實現的Queue.天然支持基於數據庫的操作.相當好用,只是了解的人不多,使用的也少,沒有被廣泛應用.
近些年,大數據的興起, 使得對消息中間件的要求變得更高, 要求穩定,高效,可追溯,分布式的支持,實效性, 如Kafka , Redis.
Solace是不同於以上的消息隊列及緩存的機制, 它是完全基於硬件實現的消息隊列中間件.速度,效率,吞吐量,可靠性都高於以上幾種消息中間件, 不同的是它是收費的,而且對於中小型企業控制成本來講, 基本不是首選. 但是它在世界范圍內的金融企業得到了廣泛的認可和使用.
面向消息的中間件主要的作用是用來在不同組件, 系統間傳遞信息.目的是將整個平台或者系統的上下游間進行架構上的解耦合. 使得系統間的運行流轉可通過中間件的作為傳遞的橋梁,起到連通的作用.尤其是像Solace這樣的可靠穩定的基於硬件的設備,更加適合於不僅系統內的各組件可以拆分, 不同平台, 系統同樣可以它作為橋梁進行信息的整合,備份. 在分布式的系統架構中,它可以起到中間媒介的作用.
Solace APIs提供一個底層基於UDP,用C++/Java編的JCMP API的一個統一訪問Solace設備的API,用於提供通信服務, 支持的語言版本有: C, .NET, iOS, Java, JavaScript, JMS and Node.js.
目前有一個通用的開源的Apache Qpid - AMQP 1.0 (Advanced Message Queuing Protocol) , 它實現了事物的管理,查詢,分發,安全及跨平台的支持. 主參考: https://qpid.apache.org/
擴展:關鍵詞:
Message Oriented MiddleWare (基於消息的中間件)
https://www.techopedia.com/definition/27589/message-oriented-middleware-mom
https://www.trustradius.com/message-oriented-middleware
event topic hierarchy, event mesh
https://solace.com/blog/topic-hierarchy-best-practices/
https://solace.com/what-is-an-event-mesh/