溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

MQ的優(yōu)點(diǎn)有哪些

發(fā)布時(shí)間:2022-03-25 10:02:47 來源:億速云 閱讀:310 作者:iii 欄目:云計(jì)算

這篇文章主要介紹“MQ的優(yōu)點(diǎn)有哪些”的相關(guān)知識(shí),小編通過實(shí)際案例向大家展示操作過程,操作方法簡(jiǎn)單快捷,實(shí)用性強(qiáng),希望這篇“MQ的優(yōu)點(diǎn)有哪些”文章能幫助大家解決問題。

好處一:解耦

在項(xiàng)目啟動(dòng)之初來預(yù)測(cè)將來項(xiàng)目會(huì)碰到什么需求,是極其困難的。消息系統(tǒng)在處理過程中間插入了一個(gè)隱含的、基于數(shù)據(jù)的接口層,兩邊的處理過程都要實(shí)現(xiàn)這一接口。這允許你獨(dú)立的擴(kuò)展或修改兩邊的處理過程,只要確保它們遵守同樣的接口約束。

MQ的優(yōu)點(diǎn)有哪些

比如我們的貨款抵扣業(yè)務(wù)場(chǎng)景,用戶生成訂單發(fā)送MQ后立即返回,結(jié)算系統(tǒng)去消費(fèi)該MQ進(jìn)行用戶賬戶金額的扣款。這樣訂單系統(tǒng)只需要關(guān)注把訂單創(chuàng)建成功,最大可能的提高訂單量,并且生成訂單后立即返回用戶。而結(jié)算系統(tǒng)重點(diǎn)關(guān)心的是賬戶金額的扣減,保證賬戶金額最終一致。

好處二:冗余

有些情況下,處理數(shù)據(jù)的過程會(huì)失敗。除非數(shù)據(jù)被持久化,否則將造成丟失。MQ把數(shù)據(jù)進(jìn)行持久化直到它們已經(jīng)被完全處理,通過這一方式規(guī)避了數(shù)據(jù)丟失風(fēng)險(xiǎn)。許多MQ所采用的"插入-獲取-刪除"范式中,在把一個(gè)消息從隊(duì)列中刪除之前,需要你的處理系統(tǒng)明確的指出該消息已經(jīng)被處理完畢,從而確保你的數(shù)據(jù)被安全的保存直到你使用完畢。

好處三:擴(kuò)展性

因?yàn)镸Q解耦了你的處理過程,所以增大消息入隊(duì)和處理的頻率是很容易的,只要另外增加處理過程即可。就比如DMS分布式消息服務(wù),不需要改變代碼、不需要調(diào)節(jié)參數(shù)。擴(kuò)展就像調(diào)大電力按鈕一樣簡(jiǎn)單。

好處四:靈活性和峰值處理能力

在訪問量劇增的情況下,應(yīng)用仍然需要繼續(xù)發(fā)揮作用,但是這樣的突發(fā)流量并不常見;如果為以能處理這類峰值訪問為標(biāo)準(zhǔn)來投入資源隨時(shí)待命無疑是巨大的浪費(fèi)。使用MQ能夠使關(guān)鍵組件頂住突發(fā)的訪問壓力,而不會(huì)因?yàn)橥话l(fā)的超負(fù)荷的請(qǐng)求而完全崩潰。

還是以訂單系統(tǒng)和結(jié)算系統(tǒng)場(chǎng)景為例,如果訂單系統(tǒng)通過RPC框架來調(diào)用結(jié)算系統(tǒng),在有高峰促銷的情況下生成訂單的量會(huì)非常大,而且由于生成訂單的速度也非常快,這樣勢(shì)必會(huì)給結(jié)算系統(tǒng)造成系統(tǒng)壓力,服務(wù)器利用率則會(huì)偏高,但在不是高峰的時(shí)間點(diǎn)訂單量比較小,結(jié)算系統(tǒng)的服務(wù)器利用率則會(huì)偏低。對(duì)于結(jié)算系統(tǒng)來說就會(huì)出現(xiàn)下面這樣的高峰波谷現(xiàn)象圖。

那么如果通過MQ的方式,將訂單存儲(chǔ)到MQ隊(duì)列中,消費(fèi)端通過拉取的方式,并且拉去速度有消費(fèi)端來控制,則就可以控制流量趨于平穩(wěn)。這樣對(duì)于結(jié)算系統(tǒng)來講,就達(dá)到了削峰填谷的目的?;蛘哒f起到了流控的目標(biāo)

好處五:可恢復(fù)性

系統(tǒng)的一部分組件失效時(shí),不會(huì)影響到整個(gè)系統(tǒng)。MQ降低了進(jìn)程間的耦合度,所以即使一個(gè)處理消息的進(jìn)程掛掉,加入隊(duì)列中的消息仍然可以在系統(tǒng)恢復(fù)后被處理。

好處六:順序保證

在大多使用場(chǎng)景下,數(shù)據(jù)處理的順序都很重要。大部分MQ本來就是排序的,并且能保證數(shù)據(jù)會(huì)按照特定的順序來處理。Kafka保證一個(gè)Partition內(nèi)的消息的有序性。

好處七:緩沖

在任何重要的系統(tǒng)中,都會(huì)有需要不同的處理時(shí)間的元素。例如,加載一張圖片比應(yīng)用過濾器花費(fèi)更少的時(shí)間。消息隊(duì)列通過一個(gè)緩沖層來幫助任務(wù)最高效率的執(zhí)行———寫入隊(duì)列的處理會(huì)盡可能的快速。該緩沖有助于控制和優(yōu)化數(shù)據(jù)流經(jīng)過系統(tǒng)的速度。

好處八:異步通信

很多時(shí)候,用戶不想也不需要立即處理消息。消息隊(duì)列提供了異步處理機(jī)制,允許用戶把一個(gè)消息放入隊(duì)列,但并不立即處理它。想向隊(duì)列中放入多少消息就放多少,然后在需要的時(shí)候再去處理它們。

對(duì)系統(tǒng)而言,MQ消息隊(duì)列機(jī)制能承受更大訪問壓力;對(duì)架構(gòu)而言,松耦合,系統(tǒng)維護(hù)性方便;而對(duì)用戶而言,想要系統(tǒng)訪問更快、系統(tǒng)體驗(yàn)更好,自然首選DMS啦!

關(guān)于“MQ的優(yōu)點(diǎn)有哪些”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí),可以關(guān)注億速云行業(yè)資訊頻道,小編每天都會(huì)為大家更新不同的知識(shí)點(diǎn)。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

mq
AI