国产成人毛片视频|星空传媒久草视频|欧美激情草久视频|久久久久女女|久操超碰在线播放|亚洲强奸一区二区|五月天丁香社区在线|色婷婷成人丁香网|午夜欧美6666|纯肉无码91视频

rocketmq和kafka區(qū)別 rocketmq集群和廣播有什么區(qū)別?

rocketmq集群和廣播有什么區(qū)別?廣播消費(fèi)指的是:一條消息,可以被多個(gè)消費(fèi)者消費(fèi)。相當(dāng)于一條記錄,多個(gè)閱讀,主要用于通知。集群消費(fèi)指的是:一條消息,只能被集群中的一個(gè)消費(fèi)者消費(fèi)。相當(dāng)于一條記錄,只

rocketmq集群和廣播有什么區(qū)別?

  1. 廣播消費(fèi)指的是:一條消息,可以被多個(gè)消費(fèi)者消費(fèi)。相當(dāng)于一條記錄,多個(gè)閱讀,主要用于通知。
  2. 集群消費(fèi)指的是:一條消息,只能被集群中的一個(gè)消費(fèi)者消費(fèi)。相當(dāng)于一條記錄,只被消費(fèi)一次,適用于消費(fèi)者生產(chǎn)者模式。

默認(rèn)采用的是集群消費(fèi)。

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

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

投遞

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

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

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

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

2、消息重試

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

存儲(chǔ)

消息中間件是存到磁盤上的,存入磁盤的消息一般是不會(huì)丟失的,同時(shí)磁盤文件還會(huì)做備份。如果一個(gè)丟失了,可以通過備份文件恢復(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ù)的。這就引出一個(gè)問題就是消息重復(fù)消費(fèi)。這個(gè)問題和上邊提到的消息重復(fù)投遞相同,都會(huì)導(dǎo)致重復(fù)消費(fèi),這就需要考慮消費(fèi)的冪等性,可以做消費(fèi)記錄,防止重復(fù)消費(fèi)。