日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

消息中间件能做什么

發(fā)布時(shí)間:2024/4/13 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 消息中间件能做什么 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

消息中間件主要解決的就是分布式系統(tǒng)之間消息傳遞的問(wèn)題,它能夠屏蔽各種平臺(tái)以及協(xié)議之間的特性,實(shí)現(xiàn)應(yīng)用程序之間的協(xié)同。舉個(gè)非常簡(jiǎn)單的例子,就拿一個(gè)電商平臺(tái)的注冊(cè)功能來(lái)簡(jiǎn)單分析下,用戶注冊(cè)這一個(gè)服務(wù),不單單只是insert一條數(shù)據(jù)到數(shù)據(jù)庫(kù)里面就完事了,還需要發(fā)送激活郵件、發(fā)送新人紅包或者積分、發(fā)送營(yíng)銷短信等一系列操作。假如說(shuō)這里面的每一個(gè)操作,都需要消耗1s,那么整個(gè)注冊(cè)過(guò)程就需要耗時(shí)4s才能響應(yīng)給用戶。

但是我們從注冊(cè)這個(gè)服務(wù)可以看到,每一個(gè)子操作都是相對(duì)獨(dú)立的,同時(shí),基于領(lǐng)域劃分以后,發(fā)送激活郵件、發(fā)送營(yíng)銷短信、贈(zèng)送積分及紅包都屬于不同的子域。所以我們可以對(duì)這些子操作進(jìn)行來(lái)實(shí)現(xiàn)異步化執(zhí)行,類似于多線程并行處理的概念。?

如何實(shí)現(xiàn)異步化呢?用多線程能實(shí)現(xiàn)嗎?多線程當(dāng)然可以實(shí)現(xiàn),只是,消息的持久化、消息的重發(fā)這些條件,多線程并不能滿足。所以需要借助一些開(kāi)源中間件來(lái)解決。而分布式消息隊(duì)列就是一個(gè)非常好的解決辦法,引入分布式消息隊(duì)列以后,架構(gòu)圖就變成這樣了(下圖是異步消息隊(duì)列的場(chǎng)景)。通過(guò)引入分布式隊(duì)列,就能夠大大提升程序的處理效率,并且還解決了各個(gè)模塊之間的耦合問(wèn)題

? 這個(gè)是分布式消息隊(duì)列的第一個(gè)解決場(chǎng)景【異步處理】

我們?cè)賮?lái)展開(kāi)一種場(chǎng)景,通過(guò)分布式消息隊(duì)列來(lái)實(shí)現(xiàn)流量整形,比如在電商平臺(tái)的秒殺場(chǎng)景下,流量會(huì)非常大。通過(guò)消息隊(duì)列的方式可以很好的緩解高流量的問(wèn)題

? 用戶提交過(guò)來(lái)的請(qǐng)求,先寫入到消息隊(duì)列。消息隊(duì)列是有長(zhǎng)度的,如果消息隊(duì)列長(zhǎng)度超過(guò)指定長(zhǎng)度,直接拋棄

? 秒殺的具體核心處理業(yè)務(wù),接收消息隊(duì)列中消息進(jìn)行處理,這里的消息處理能力取決于消費(fèi)端本身的吞吐量

當(dāng)然,消息中間件還有更多應(yīng)用場(chǎng)景,比如在弱一致性事務(wù)模型中,可以采用分布式消息隊(duì)列的實(shí)現(xiàn)最大能力通知方式來(lái)實(shí)現(xiàn)數(shù)據(jù)的最終一致性等等

?

總結(jié)

以上是生活随笔為你收集整理的消息中间件能做什么的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。