頁面內(nèi)容是否對(duì)您有幫助?
0/200

請(qǐng)選擇您想要咨詢的產(chǎn)品

請(qǐng)選擇

抱歉,您所使用的賬號(hào)暫未綁定對(duì)應(yīng)的產(chǎn)品!

請(qǐng)聯(lián)系貴司企業(yè)管理員,為您的賬號(hào)綁定對(duì)應(yīng)的產(chǎn)品。若需購買產(chǎn)品, 請(qǐng)撥打 4008-830-830 免費(fèi)咨詢
確定
首頁>資訊>最新文章>消息系統(tǒng)的演進(jìn):從MOM、ESB到下一代云原生的分布式消息系統(tǒng)
AI平臺(tái) AI平臺(tái)

消息系統(tǒng)的演進(jìn):從MOM、ESB到下一代云原生的分布式消息系統(tǒng)

作者 wendao | 2022-12-23
2470 瀏覽

1、什么是企業(yè)消息系統(tǒng)?

企業(yè)消息系統(tǒng)(Enterprise Messaging System)是提供實(shí)現(xiàn)各種消息協(xié)議的軟件,如AMQP、MSMQ等。這些協(xié)議支持在企業(yè)內(nèi)部的分布式系統(tǒng)和應(yīng)用程序之間發(fā)送和接收消息。企業(yè)消息系統(tǒng)是為了解決遠(yuǎn)程過程調(diào)用(RPC)的一些問題而設(shè)計(jì)的。在RPC架構(gòu)中,當(dāng)一個(gè)進(jìn)程想要與遠(yuǎn)程服務(wù)交互時(shí),它首先需要通過服務(wù)發(fā)現(xiàn)確定服務(wù)的位置,然后使用適當(dāng)?shù)膮?shù)遠(yuǎn)程調(diào)用所需的方法。應(yīng)用程序進(jìn)行遠(yuǎn)程調(diào)用時(shí),必須等待該調(diào)用返回后才能繼續(xù)處理。

RPC的同步特性使得基于這種架構(gòu)的應(yīng)用程序本身就會(huì)變慢。另外,遠(yuǎn)程服務(wù)可能會(huì)在一段時(shí)間內(nèi)不可用,這就需要應(yīng)用開發(fā)者使用防御性編程來識(shí)別服務(wù)是否可用,并做出相應(yīng)的反應(yīng)。

企業(yè)消息系統(tǒng)則通過引入中間服務(wù),解耦了消息發(fā)送者和接收者。通過提供一個(gè)標(biāo)準(zhǔn)化和可靠的組件來完成解耦,該組件作為處理數(shù)據(jù)的持久緩沖區(qū),消息的發(fā)送者和接收者不必同時(shí)在線。
企業(yè)消息系統(tǒng)有一些關(guān)鍵特性

異步通信:消息系統(tǒng)允許服務(wù)和應(yīng)用程序以非阻塞的方式相互通信。

消息持久化:RPC的消息只存在于網(wǎng)絡(luò)上,而發(fā)布到消息傳遞系統(tǒng)中的消息會(huì)被持久化,直到它們被成功投遞。

消息確認(rèn):消息系統(tǒng)必須保留消息,直到所有的接收者都收到信息。因此需要一種機(jī)制,使消費(fèi)者能夠確認(rèn)消息的成功投遞。這樣,消息系統(tǒng)就可以清除所有成功投遞的消息。

消息消費(fèi)模式

發(fā)布訂閱模式——支持向一個(gè)特定的消息主題生產(chǎn)消息,多個(gè)訂閱者可能對(duì)接收來自特定消息主題的消息感興趣。

    消息隊(duì)列模式——用于消息生產(chǎn)者和消息消費(fèi)者之間點(diǎn)到點(diǎn)通信。消息生產(chǎn)者將消息發(fā)送到由某個(gè)名字標(biāo)識(shí)的特定消費(fèi)者。這個(gè)名字實(shí)際上對(duì)于消費(fèi)服務(wù)中的一個(gè) 隊(duì)列(Queue),在消息傳遞給消費(fèi)者之前它被存儲(chǔ)在這個(gè)隊(duì)列中。
消息系統(tǒng)已經(jīng)存在了幾十年,并得到了廣泛的應(yīng)用。讓我們回顧一下消息系統(tǒng)的演進(jìn)。

2、面向消息的中間件

第一類消息系統(tǒng)通常被稱為面向消息的中間件(Message Oriented Middleware,MOM),它的設(shè)計(jì)目的是在運(yùn)行于不同網(wǎng)絡(luò)、操作系統(tǒng)等的分布式系統(tǒng)之間提供進(jìn)程間通信和應(yīng)用集成。最著名的MOM實(shí)現(xiàn)之一是1993年發(fā)布的IBM WebSphere MQ。

最早的實(shí)現(xiàn)被設(shè)計(jì)為部署在一臺(tái)機(jī)器上,這意味著系統(tǒng)的可擴(kuò)展性受限于主機(jī)的物理硬件,這臺(tái)單一的服務(wù)器負(fù)責(zé)處理所有的客戶請(qǐng)求和存儲(chǔ)所有的消息。這些單服務(wù)器MOM系統(tǒng)可以服務(wù)的并發(fā)生產(chǎn)者和消費(fèi)者的數(shù)量受到網(wǎng)卡帶寬的限制,存儲(chǔ)容量受到機(jī)器上物理磁盤的限制。

通過為MOM系統(tǒng)中增加集群功能,可以解決可擴(kuò)展性問題。這使得多個(gè)單服務(wù)實(shí)例可以分擔(dān)消息的處理,并提供一些負(fù)載平衡。盡管MOM是集群部署,但實(shí)際上每個(gè)服務(wù)實(shí)例負(fù)責(zé)為所有主題的一個(gè)子集提供服務(wù)和消息存儲(chǔ)。在出現(xiàn)主題"熱點(diǎn)"的情況下,分配給該特定主題的實(shí)例仍然會(huì)成為瓶頸。

這種局限性要求用戶必須注意的消息分布,調(diào)整主題的分別,使主題與底層物理硬件相匹配,確保負(fù)載在集群中均勻分布。更好的做法是,能夠?qū)⒁粋€(gè)主題分布在多臺(tái)機(jī)器上,這正是分布式消息系統(tǒng)所做的事情。

3、企業(yè)服務(wù)總線

企業(yè)服務(wù)總線(Enterprise Service Bus, ESB)出現(xiàn)于本世紀(jì)初,當(dāng)時(shí)XML是使用基于SOAP的SOA架構(gòu)應(yīng)用的首選消息格式。ESB的核心概念是 "消息總線",它是所有應(yīng)用程序和服務(wù)之間的通信通道。這種集中式的架構(gòu)與面向消息的中間件(MOM)所采用的點(diǎn)對(duì)點(diǎn)的集成方式形成了直接對(duì)比。

每個(gè)應(yīng)用向 ESB "注冊(cè) "自己,并指定一套規(guī)則,用于識(shí)別它感興趣的消息,而 ESB 將處理所有必要的邏輯,以便從總線上動(dòng)態(tài)地路由符合這些規(guī)則的消息。同樣,每個(gè)服務(wù)不再需要事先知道消息的預(yù)定目標(biāo),只需將消息發(fā)布到 "總線 "上,讓它對(duì)消息進(jìn)行路由。每個(gè)應(yīng)用或服務(wù)通過ESB發(fā)送和接收所有消息,而不必指定它們想要發(fā)布和消費(fèi)的特定主題名稱。

ESB在 "流處理 "上邁出了第一步,強(qiáng)調(diào)在消息系統(tǒng)內(nèi)部處理消息的能力。大多數(shù)ESB提供消息轉(zhuǎn)換服務(wù),通過XSLT或XQuery,處理發(fā)送和接收者之間的消息格式轉(zhuǎn)換。這是對(duì)消息系統(tǒng)的一種全新的思考方式,在這之前,消息系統(tǒng)幾乎只被用作一種傳輸通道?,F(xiàn)在ESB都支持更先進(jìn)的計(jì)算功能,包括業(yè)務(wù)流程編排、事件關(guān)聯(lián)和模式匹配等復(fù)雜事件處理。

ESB在今天仍然非常流行,但它們是集中式系統(tǒng),被設(shè)計(jì)成部署在單臺(tái)主機(jī)上。ESB和MOM一樣,同樣存在著可擴(kuò)展性的問題。

4、分布式消息系統(tǒng)

隨著Hadoop的普及,分布式計(jì)算模式開始被廣泛采用。分布式計(jì)算最大的一個(gè)優(yōu)勢(shì)就是,只需在系統(tǒng)中增加新的機(jī)器,就可以橫向擴(kuò)展系統(tǒng)。新的系統(tǒng)架構(gòu)將計(jì)算和存儲(chǔ)分離,并且分布在多臺(tái)機(jī)器上,不再受單機(jī)物理硬件的限制。

消息系統(tǒng)已經(jīng)向分布式計(jì)算模式過渡。當(dāng)前最流行的 Kafka,以及最近崛起的 Pulsar都采用了分布式計(jì)算模式,以滿足互聯(lián)網(wǎng)、大型企業(yè)對(duì)可擴(kuò)展性和性能的需求。

在分布式消息系統(tǒng)中,一個(gè)主題被分布在多臺(tái)機(jī)器上,以便在消息層提供水平可擴(kuò)展的存儲(chǔ)。將數(shù)據(jù)分布存儲(chǔ)還提供了一些優(yōu)勢(shì),包括數(shù)據(jù)的冗余和高可用性,增加了消息的存儲(chǔ)容量,增加了消息吞吐量,以及消除了系統(tǒng)內(nèi)的單點(diǎn)故障。

分布式消息系統(tǒng)和集群式單節(jié)點(diǎn)系統(tǒng)在架構(gòu)上的關(guān)鍵區(qū)別,是存儲(chǔ)層的設(shè)計(jì)方式。在以前的單節(jié)點(diǎn)系統(tǒng)中,主題的消息數(shù)據(jù)都被存儲(chǔ)在一臺(tái)機(jī)器上,這將主題的大小限制在該機(jī)器上磁盤容量大小。在分布式消息系統(tǒng)中,數(shù)據(jù)分布在集群內(nèi)的多臺(tái)機(jī)器上。

分布式消息系統(tǒng)的另一個(gè)好處是,可以有多個(gè)broker為給定的主題提供消息服務(wù),通過將負(fù)載分散在多臺(tái)機(jī)器上,提高了消息的生產(chǎn)和消費(fèi)吞吐量。

我們以新近崛起的Pulsar為例,它就是典型的分布式消息系統(tǒng)架構(gòu)。Pulsar使用了存儲(chǔ)和計(jì)算分離的云原生架構(gòu),數(shù)據(jù)從 Broker 搬離,存在共享存儲(chǔ)內(nèi)部。上層是無狀態(tài) Broker,復(fù)制消息分發(fā)和服務(wù);下層是持久化的存儲(chǔ)層 Bookie 集群。Pulsar存儲(chǔ)是分片的,這種構(gòu)架可以避免擴(kuò)容時(shí)受限制,實(shí)現(xiàn)數(shù)據(jù)的獨(dú)立擴(kuò)展和快速恢復(fù)。Pulsar解決了Kafka在設(shè)計(jì)上的一些并不能很好地適應(yīng)于云原生環(huán)境的缺陷,比如消息服務(wù)和消息存儲(chǔ)的緊耦合、IO并不隔離、基于物理分區(qū)的存儲(chǔ)模型等。Pulsar還內(nèi)置了一個(gè)輕量級(jí)計(jì)算引擎,為用戶提供了一個(gè)部署簡單、運(yùn)維方便的 FaaS(Function as a service)平臺(tái)。

上述內(nèi)容來自用戶自行上傳或互聯(lián)網(wǎng),如有版權(quán)問題,請(qǐng)聯(lián)系qy_qin@kingdee.com 。

熱門文章

什么樣子的醫(yī)藥管理系統(tǒng)軟件更好用?

在醫(yī)療行業(yè)中,醫(yī)藥管理系統(tǒng)軟件扮演著至關(guān)重要的角色。它不僅能夠提高藥品管理的效率和準(zhǔn)確性,還能保障患者安全,同時(shí)符合法規(guī)要求。一個(gè)好用的醫(yī)藥管理系統(tǒng)軟件應(yīng)具備以下特點(diǎn)。 首先,系統(tǒng)的界面應(yīng)直觀易用,允許用戶無障礙地進(jìn)行操作。 復(fù)雜的

人力資源HC計(jì)劃是什么意思?

在人力資源管理部門會(huì)出現(xiàn)很多英文字母讓人一頭霧水不知所云,比如說HC、HR等等,那么它們是哪個(gè)英文單詞的縮寫呢?具體的含義又是什么呢?

簽約!金蝶攜手芯源微,助力半導(dǎo)體裝備制造領(lǐng)先企業(yè)邁向世界

10月18日,在2023全球工業(yè)互聯(lián)網(wǎng)大會(huì)期間,沈陽芯源微電子設(shè)備股份有限公司(以下簡稱“芯源微”)與金蝶軟件(中國)有限公司(以下簡稱“金蝶”)在遼寧沈陽簽署戰(zhàn)略合作協(xié)議。此次合作,將基于金蝶云·星空,建設(shè)芯源微運(yùn)營管控平臺(tái),從而實(shí)現(xiàn)公司產(chǎn)研一體化、業(yè)財(cái)一體化,提升公司整體業(yè)務(wù)水平。?

金蝶攜手帝邁,打造醫(yī)療器械行業(yè)信創(chuàng)數(shù)字化標(biāo)桿

近日,深圳市帝邁生物技術(shù)有限公司(以下簡稱帝邁)數(shù)字化升級(jí)項(xiàng)目上線匯報(bào)會(huì)在深圳圓滿召開。帝邁攜手金蝶軟件(中國)有限公司(以下簡稱

歷史重演?從電信、移動(dòng)和手機(jī)“逆襲史”看軟件

相關(guān)文章
金蝶云·蒼穹平臺(tái)優(yōu)勢(shì)是全棧的云原生技術(shù)能力,可滿足企業(yè)期盼值

近些年來,各個(gè)行業(yè)都迎來了數(shù)字化轉(zhuǎn)型浪潮,隨著企業(yè)對(duì)于云計(jì)算的理解和實(shí)踐不斷深入,基于云計(jì)算的分布式架構(gòu)已經(jīng)越來越多地成為企業(yè)應(yīng)用構(gòu)建的首選方案。

金蝶云·蒼穹以領(lǐng)先的云原生技術(shù),助力企業(yè)邁入“云時(shí)代”大門

現(xiàn)如今,云和云計(jì)算技術(shù)已經(jīng)被企業(yè)廣泛所接受,關(guān)于云、云計(jì)算、云原生技術(shù)都有非常多的話題。云原生技術(shù)是目前技術(shù)階段,企業(yè)IT系統(tǒng)的最優(yōu)模式的集合。在全面數(shù)字化轉(zhuǎn)型的大潮下,云原生技術(shù)猶如推動(dòng)器,助力傳統(tǒng)企業(yè)邁入“云時(shí)代”的大門。

云原生技術(shù)能實(shí)現(xiàn)產(chǎn)業(yè)升級(jí),成為企業(yè)“上云”后的重要?jiǎng)?chuàng)新方向

當(dāng)今數(shù)字共生時(shí)代,在新基建背景下,云計(jì)算作為其中重要的信息基礎(chǔ)設(shè)施,是新基建中的關(guān)鍵支撐點(diǎn)之一。而在云計(jì)算領(lǐng)域,云原生也正在成為實(shí)現(xiàn)新基建的重要抓手,業(yè)務(wù)應(yīng)用軟件云原生技術(shù)正成為企業(yè)“上云”后的重要?jiǎng)?chuàng)新方向。

售前熱線
售前官方咨詢 4008-830-830
掃碼添加顧問
獲取專業(yè)解決方案
或者預(yù)約回電,我們會(huì)盡快聯(lián)系您
請(qǐng)輸入正確的手機(jī)號(hào)碼
獲取驗(yàn)證碼
驗(yàn)證碼不能為空

請(qǐng)先閱讀并同意協(xié)議

我已閱讀并同意 《金蝶中國隱私政策》
預(yù)約成功
金蝶產(chǎn)品專家將盡快與您聯(lián)系,請(qǐng)保持電話暢通
售后在線服務(wù) 售后服務(wù)
售后服務(wù)熱線 4008-836-836
工單服務(wù) 獲取專業(yè)工程師的幫助,快速解決您的問題

掃碼對(duì)話徐少春

徐少春個(gè)人號(hào)
售前咨詢
介紹下產(chǎn)品
可以試用嗎?
我想了解產(chǎn)品
我要買產(chǎn)品
有銷售對(duì)接嗎?
怎么購買?
加載中
您好!我是 金小蝶
您的智能在線客服,請(qǐng)問有什么需要我?guī)椭膯?
金小蝶

您好!
想了解金蝶云產(chǎn)品或解決方案嗎? 請(qǐng)點(diǎn)擊立即咨詢,我將為您解答!

黄片播放_性无码一区二区三区在线观看_手机在线免费看av_久草免费福利视频