消息中间件的背景分析
前面跟著我看過(guò)zk的源碼、學(xué)過(guò)并發(fā)編程的同學(xué)應(yīng)該知道,我們可以使用阻塞隊(duì)列+線程池來(lái)實(shí)現(xiàn)生產(chǎn)者消費(fèi)者模式。比如說(shuō)在一個(gè)應(yīng)用中,A方法調(diào)用B方法去執(zhí)行一些任務(wù)處理。我們可以同步調(diào)用。但是如果這個(gè)時(shí)候請(qǐng)求比較多的情況下,同步調(diào)用比較耗時(shí)會(huì)導(dǎo)致請(qǐng)求阻塞。我們會(huì)使用阻塞隊(duì)列加線程池來(lái)實(shí)現(xiàn)異步任務(wù)的處理。
那么,問(wèn)題來(lái)了,如果是在分布式系統(tǒng)中,兩個(gè)服務(wù)之間需要通過(guò)這種異步隊(duì)列的方式來(lái)處理任務(wù),那單進(jìn)程級(jí)別的隊(duì)列就無(wú)法解決這個(gè)問(wèn)題了。
因此,引入了消息中間件,也就是把消息處理交給第三方的服務(wù),這個(gè)服務(wù)能夠?qū)崿F(xiàn)數(shù)據(jù)的存儲(chǔ)以及傳輸,使得在分布式架構(gòu)下實(shí)現(xiàn)跨進(jìn)程的遠(yuǎn)程消息通信。
所以,簡(jiǎn)單來(lái)說(shuō): 消息中間件是指利用高效可靠的消息傳輸機(jī)制進(jìn)行平臺(tái)無(wú)關(guān)的數(shù)據(jù)交流,并且基于數(shù)據(jù)通信來(lái)進(jìn)行分布式系統(tǒng)的集成。
?
超強(qiáng)干貨來(lái)襲 云風(fēng)專(zhuān)訪:近40年碼齡,通宵達(dá)旦的技術(shù)人生總結(jié)
以上是生活随笔為你收集整理的消息中间件的背景分析的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 服务降级-多版本支持
- 下一篇: 思考一下消息中间件的设计