卖逼视频免费看片|狼人就干网中文字慕|成人av影院导航|人妻少妇精品无码专区二区妖婧|亚洲丝袜视频玖玖|一区二区免费中文|日本高清无码一区|国产91无码小说|国产黄片子视频91sese日韩|免费高清无码成人网站入口

rocketmq安裝和使用 高并發(fā)場景下,如何保證生產(chǎn)者投遞到消息中間件的消息不丟失?

高并發(fā)場景下,如何保證生產(chǎn)者投遞到消息中間件的消息不丟失?消息中間件消息不丟失主要從以下幾個方面考慮投遞生產(chǎn)者向消息中間件投遞消息是push的方式,這種方法會出現(xiàn)以下情況1、生產(chǎn)者掛掉了情況是這樣的,

高并發(fā)場景下,如何保證生產(chǎn)者投遞到消息中間件的消息不丟失?

消息中間件消息不丟失主要從以下幾個方面考慮

投遞

生產(chǎn)者向消息中間件投遞消息是push的方式,這種方法會出現(xiàn)以下情況

1、生產(chǎn)者掛掉了

情況是這樣的,你的生產(chǎn)者收到了數(shù)據(jù),并存到了數(shù)據(jù)庫中,同時生產(chǎn)者要降消息push到消息中間件做異步處理。這時候如果生產(chǎn)者掛掉了,就導(dǎo)致消息數(shù)據(jù)沒有push到消息中間件里,也就會出現(xiàn)數(shù)據(jù)不一致的問題。

這時候我們可以在數(shù)據(jù)庫設(shè)置是否投遞成功標(biāo)志位,在生產(chǎn)者push之后,再將標(biāo)志位設(shè)置為已經(jīng)投遞。另外,客氣啟動一個定時任務(wù),檢測是否有消息沒有投遞,保證消息數(shù)據(jù)一定會進(jìn)入中間件。

2、消息重試

生產(chǎn)者沒有掛掉,但是因?yàn)榫W(wǎng)絡(luò)等其他問題,導(dǎo)致生產(chǎn)者不知道有沒有投遞成功。這時候生產(chǎn)者可以失敗重試,這保證消息可以再次投遞。但是這有可能會出現(xiàn)重復(fù)投遞,導(dǎo)致出現(xiàn)中間件消息數(shù)據(jù)重復(fù)。

存儲

消息中間件是存到磁盤上的,存入磁盤的消息一般是不會丟失的,同時磁盤文件還會做備份。如果一個丟失了,可以通過備份文件恢復(fù)。

消費(fèi)

一般消費(fèi)者需要在消費(fèi)者消費(fèi)成功之后再設(shè)置提交消費(fèi)位點(diǎn)。如果消費(fèi)失敗,消費(fèi)者不提交消費(fèi)位點(diǎn)還是可以消費(fèi)該數(shù)據(jù)的。這就引出一個問題就是消息重復(fù)消費(fèi)。這個問題和上邊提到的消息重復(fù)投遞相同,都會導(dǎo)致重復(fù)消費(fèi),這就需要考慮消費(fèi)的冪等性,可以做消費(fèi)記錄,防止重復(fù)消費(fèi)。

如何查看rocketmq mqbroker是否啟動?

a: 查看具體命令的使用 : sh mqadmin

b: sh mqadmin help 命令名稱

例如,查看 updateTopic 的使用

sh mqadmin help updateTopic

2. 關(guān)閉nameserver和所有的broker:

進(jìn)入到bin下:

sh mqshutdown namesrv

sh mqshutdown broker

3. 查看所有消費(fèi)組group:

sh mqadmin consumerProgress -n 192.168.1.23:9876

4. 查看指定消費(fèi)組下的所有topic數(shù)據(jù)堆積情況:

sh mqadmin consumerProgress -n 192.168.1.23:9876 -g warning-group

5. 查看所有topic :

RocketMQ宕機(jī)后如何重啟?

RocketMQ是一款分布式、隊(duì)列模型的消息中間件,具有以下特點(diǎn):1、支持嚴(yán)格的消息順序;2、支持Topic與Queue兩種模式;3、億級消息堆積能力;4、比較友好的分布式特性;5、同時支持Push與Pull方式消費(fèi)消息;