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

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

創(chuàng)新互聯(lián)長期為上1000+客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為麗江企業(yè)提供專業(yè)的成都網(wǎng)站制作、網(wǎng)站設(shè)計、外貿(mào)網(wǎng)站建設(shè),麗江網(wǎng)站改版等技術(shù)服務(wù)。擁有10年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。

好處一:解耦

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

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

比如我們的貨款抵扣業(yè)務(wù)場景,用戶生成訂單發(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ù)的過程會失敗。除非數(shù)據(jù)被持久化,否則將造成丟失。MQ把數(shù)據(jù)進(jìn)行持久化直到它們已經(jīng)被完全處理,通過這一方式規(guī)避了數(shù)據(jù)丟失風(fēng)險。許多MQ所采用的"插入-獲取-刪除"范式中,在把一個消息從隊(duì)列中刪除之前,需要你的處理系統(tǒng)明確的指出該消息已經(jīng)被處理完畢,從而確保你的數(shù)據(jù)被安全的保存直到你使用完畢。

好處三:擴(kuò)展性

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

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

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

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

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

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

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

好處六:順序保證

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

好處七:緩沖

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

好處八:異步通信

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

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

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

分享文章:MQ的優(yōu)點(diǎn)有哪些
文章出自:http://bm7419.com/article12/pccegc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供關(guān)鍵詞優(yōu)化、服務(wù)器托管企業(yè)網(wǎng)站制作、、App開發(fā)、域名注冊

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都app開發(fā)公司