這篇文章主要介紹“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è)計(jì)、外貿(mào)網(wǎng)站建設(shè),麗江網(wǎng)站改版等技術(shù)服務(wù)。擁有10年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。
好處一:解耦
在項(xiàng)目啟動之初來預(yù)測將來項(xiàng)目會碰到什么需求,是極其困難的。消息系統(tǒng)在處理過程中間插入了一個(gè)隱含的、基于數(shù)據(jù)的接口層,兩邊的處理過程都要實(shí)現(xiàn)這一接口。這允許你獨(dú)立的擴(kuò)展或修改兩邊的處理過程,只要確保它們遵守同樣的接口約束。
比如我們的貨款抵扣業(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)險(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)大電力按鈕一樣簡單。
好處四:靈活性和峰值處理能力
在訪問量劇增的情況下,應(yīng)用仍然需要繼續(xù)發(fā)揮作用,但是這樣的突發(fā)流量并不常見;如果為以能處理這類峰值訪問為標(biāo)準(zhǔn)來投入資源隨時(shí)待命無疑是巨大的浪費(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ù)器利用率則會偏高,但在不是高峰的時(shí)間點(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á)到了削峰填谷的目的?;蛘哒f起到了流控的目標(biāo)
好處五:可恢復(fù)性
系統(tǒng)的一部分組件失效時(shí),不會影響到整個(gè)系統(tǒng)。MQ降低了進(jìn)程間的耦合度,所以即使一個(gè)處理消息的進(jìn)程掛掉,加入隊(duì)列中的消息仍然可以在系統(tǒng)恢復(fù)后被處理。
好處六:順序保證
在大多使用場景下,數(shù)據(jù)處理的順序都很重要。大部分MQ本來就是排序的,并且能保證數(shù)據(jù)會按照特定的順序來處理。Kafka保證一個(gè)Partition內(nèi)的消息的有序性。
好處七:緩沖
在任何重要的系統(tǒng)中,都會有需要不同的處理時(shí)間的元素。例如,加載一張圖片比應(yīng)用過濾器花費(fèi)更少的時(shí)間。消息隊(duì)列通過一個(gè)緩沖層來幫助任務(wù)最高效率的執(zhí)行———寫入隊(duì)列的處理會盡可能的快速。該緩沖有助于控制和優(yōu)化數(shù)據(jù)流經(jīng)過系統(tǒng)的速度。
好處八:異步通信
很多時(shí)候,用戶不想也不需要立即處理消息。消息隊(duì)列提供了異步處理機(jī)制,允許用戶把一個(gè)消息放入隊(duì)列,但并不立即處理它。想向隊(duì)列中放入多少消息就放多少,然后在需要的時(shí)候再去處理它們。
對系統(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://aaarwkj.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)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)