小短篇介紹關(guān)于Solace http://www.reibang.com/p/9d424fdff888.
前面簡(jiǎn)單介紹了Solace來(lái)自于哪家公司, 主要能做哪些事情. 本篇主要進(jìn)一步介紹Solace作為消息傳遞的中間件如何工作的.
傳統(tǒng)意義上來(lái)講, 每當(dāng)我們談到消息中間件時(shí), 首先想到的是基于Message Queue,有Apache的 Active MQ, IBM的Webshere的 MQ, Rabbit MQ都是基于內(nèi)存/持久化到磁盤來(lái)實(shí)現(xiàn)的. 還有一種Oracle Advance MQ, 這是一種基于oracle數(shù)據(jù)庫(kù)實(shí)現(xiàn)的Queue.天然支持基于數(shù)據(jù)庫(kù)的操作.相當(dāng)好用,只是了解的人不多,使用的也少,沒(méi)有被廣泛應(yīng)用.
近些年,大數(shù)據(jù)的興起, 使得對(duì)消息中間件的要求變得更高, 要求穩(wěn)定,高效,可追溯,分布式的支持,實(shí)效性, 如Kafka , Redis.
Solace是不同于以上的消息隊(duì)列及緩存的機(jī)制, 它是完全基于硬件實(shí)現(xiàn)的消息隊(duì)列中間件.速度,效率,吞吐量,可靠性都高于以上幾種消息中間件, 不同的是它是收費(fèi)的,而且對(duì)于中小型企業(yè)控制成本來(lái)講, 基本不是首選. 但是它在世界范圍內(nèi)的金融企業(yè)得到了廣泛的認(rèn)可和使用.
Solace提供兩種設(shè)備模型:
- PubSub+ 3530 : 從成本和提供的性能上有效地滿足了中型企業(yè)的需求.
- PubSub+ 3560 : 從成本和所提供的性能上能夠滿足超大型公司重要數(shù)據(jù), 云和物聯(lián)網(wǎng)的要求.
通過(guò)這樣一張簡(jiǎn)圖, 可以有一個(gè)大體印象, 一臺(tái)Solace的服務(wù)的整體結(jié)構(gòu)分布于硬件上是怎樣的一種體現(xiàn). 后面的文章會(huì)詳細(xì)介紹每個(gè)port是什么用的.
API的支持:
Solace APIs提供一個(gè)底層基于UDP,用C++/Java編的JCMP API的一個(gè)統(tǒng)一訪問(wèn)Solace設(shè)備的API,用于提供通信服務(wù), 支持的語(yǔ)言版本有: C, .NET, iOS, Java, JavaScript, JMS and Node.js.
目前有一個(gè)通用的開(kāi)源的Apache Qpid - AMQP 1.0 (Advanced Message Queuing Protocol) , 它實(shí)現(xiàn)了事物的管理,查詢,分發(fā),安全及跨平臺(tái)的支持. 主參考: https://qpid.apache.org/
面向消息的中間件主要的作用是用來(lái)在不同組件, 系統(tǒng)間傳遞信息.目的是將整個(gè)平臺(tái)或者系統(tǒng)的上下游間進(jìn)行架構(gòu)上的解耦合. 使得系統(tǒng)間的運(yùn)行流轉(zhuǎn)可通過(guò)中間件的作為傳遞的橋梁,起到連通的作用.尤其是像Solace這樣的可靠穩(wěn)定的基于硬件的設(shè)備,更加適合于不僅系統(tǒng)內(nèi)的各組件可以拆分, 不同平臺(tái), 系統(tǒng)同樣可以它作為橋梁進(jìn)行信息的整合,備份. 在分布式的系統(tǒng)架構(gòu)中,它可以起到中間媒介的作用.
Solace中間件的基本功能:
TBD