真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

RabbitMQ(消息隊(duì)列,消息中間件)-創(chuàng)新互聯(lián)

MQ:進(jìn)行消息傳輸?shù)闹虚g者(服務(wù)之間可以進(jìn)行消息的傳遞),它能讓服務(wù)異步,或者說(shuō)服務(wù)之間解耦

目前成都創(chuàng)新互聯(lián)公司已為上1000+的企業(yè)提供了網(wǎng)站建設(shè)、域名、虛擬主機(jī)、網(wǎng)站托管、服務(wù)器租用、企業(yè)網(wǎng)站設(shè)計(jì)、如東網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶(hù)導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶(hù)和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。

的實(shí)現(xiàn) 小tips:spring是解類(lèi)與類(lèi)之間的耦合;開(kāi)發(fā)追求的就是低耦合,高內(nèi)聚

一:一個(gè)小Demo:? 1:導(dǎo)MQ依賴(lài)

2:配置文件配置MQ的基本配置信息

3:啟動(dòng)類(lèi)里創(chuàng)建隊(duì)列,并且開(kāi)啟持久化?

4:發(fā)消息

5:收消息

二: 常見(jiàn)問(wèn)題 1:MQ如何保證提供者消息不丟失?

假如提供方發(fā)送消息到MQ,當(dāng)MQ接收后正準(zhǔn)備存儲(chǔ)的時(shí)候宕機(jī)了,就可能出現(xiàn)數(shù)據(jù)的丟失 RabbitMQ數(shù)據(jù)保護(hù)機(jī)制:
1:事務(wù)機(jī)制(已經(jīng)不用了)

提供者發(fā)消息的同時(shí)會(huì)攜帶一個(gè)uuid,當(dāng)消息持久化成功之后,Mq會(huì)給提供者返回一個(gè)消息并且攜帶 id(告訴你是哪個(gè)消息成功了)這過(guò)程是具有原子性的,有一個(gè)問(wèn)題就是具有阻塞性(前面的消息沒(méi)有 得到響應(yīng)就等著),效率很低

2:confirm機(jī)制: 異步的去發(fā)送返回消息,提供者收到了就回一下,沒(méi)收到就重新發(fā)送

操作實(shí)現(xiàn):
1:配置文件里開(kāi)啟confirm機(jī)制

2:邏輯實(shí)現(xiàn):把發(fā)送給MQ的消息存儲(chǔ)一份;如果發(fā)送成功,刪除掉存儲(chǔ)的消息;如果失敗獲取消息重新發(fā)送

開(kāi)啟隊(duì)列的持久化;配置文件開(kāi)啟confirm機(jī)制,設(shè)置未ture;生成uuid,保證收消息和消息的id 一致,代表同一個(gè)消息;構(gòu)建一個(gè)correlationData對(duì)象就是消息對(duì)象,通過(guò)correlationData攜帶著 uuid(例如你發(fā)的消息是hello,它會(huì)把hello封裝成correlationData對(duì)象,持久化成功后會(huì)把 correlationData對(duì)象返還回來(lái)),通過(guò)correlationData封裝返回值,如果成功,刪除消息,如果失敗重 新發(fā)送;最后開(kāi)始發(fā)送

2:MQ如何保證消費(fèi)者消息不丟失?

如果消費(fèi)著在消費(fèi)消息的時(shí)候,服務(wù)器宕機(jī),如何保證消息不丟失 (消費(fèi)者手動(dòng)ACK實(shí)現(xiàn))
1:將自動(dòng)簽收改為手動(dòng)簽收

2:修改業(yè)務(wù)代碼

try里面的就是核心代碼,核心業(yè)務(wù)如果執(zhí)行沒(méi)有問(wèn)題就手動(dòng)簽收,如果出現(xiàn)異常就手動(dòng)拒簽,MQ重新 發(fā)送;

如果核心業(yè)務(wù)執(zhí)行完后,出現(xiàn)異常,在自動(dòng)簽收的情況下MQ會(huì)從新發(fā)送消息,導(dǎo)致重復(fù)消費(fèi);換成手 動(dòng)簽收后,就不會(huì)再發(fā)消息

3.如何保證消費(fèi)者不重復(fù)消費(fèi)?

消費(fèi)者在執(zhí)行完業(yè)務(wù)代碼后,出現(xiàn)異常,會(huì)導(dǎo)致,MQ重新發(fā)送此消息

將自動(dòng)簽收改為手動(dòng)簽收

4.如何保證消息的冪等性?

多個(gè)相同的消息,只消費(fèi)一次 (MQ無(wú)法解決,這是屬于業(yè)務(wù)層面的東西,已經(jīng)不是技術(shù)層面的)

冪等性的去重

5.如何防止MQ的請(qǐng)求洪災(zāi) ?

(流量消峰) 消費(fèi)方,請(qǐng)求量突然暴增,導(dǎo)致服務(wù)器承載不起,導(dǎo)致宕機(jī)

自己去拿取的數(shù)量<大壓力

6.如何保證消費(fèi)的順序性?

1:保證消費(fèi)者只有一個(gè)(消息隊(duì)列本來(lái)就是有存儲(chǔ)順序的,只有一個(gè)消費(fèi)者的時(shí)候它就是按順序消費(fèi) 的)

2:給每一個(gè)消息帶一個(gè)序號(hào)(1,2,3,4,5),結(jié)合redis做序號(hào)的修改(存到redis里,通過(guò)redis判 斷1執(zhí)行完了執(zhí)行2.。。)但是效率很低(沒(méi)有意義,這種業(yè)務(wù)要么要效率,要么不要效率,不要效率就 一個(gè)消費(fèi)隊(duì)列,要效率就加個(gè)序號(hào)戳,但是又會(huì)影響效率)

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購(gòu),新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧


網(wǎng)頁(yè)名稱(chēng):RabbitMQ(消息隊(duì)列,消息中間件)-創(chuàng)新互聯(lián)
網(wǎng)站地址:http://weahome.cn/article/ddcsdj.html

其他資訊

在線咨詢(xún)

微信咨詢(xún)

電話咨詢(xún)

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部