成人AV在线无码|婷婷五月激情色,|伊人加勒比二三四区|国产一区激情都市|亚洲AV无码电影|日av韩av无码|天堂在线亚洲Av|无码一区二区影院|成人无码毛片AV|超碰在线看中文字幕

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

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

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

  1. 廣播消費指的是:一條消息,可以被多個消費者消費。相當于一條記錄,多個閱讀,主要用于通知。
  2. 集群消費指的是:一條消息,只能被集群中的一個消費者消費。相當于一條記錄,只被消費一次,適用于消費者生產者模式。

默認采用的是集群消費。

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

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

投遞

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

1、生產者掛掉了

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

這時候我們可以在數據庫設置是否投遞成功標志位,在生產者push之后,再將標志位設置為已經投遞。另外,客氣啟動一個定時任務,檢測是否有消息沒有投遞,保證消息數據一定會進入中間件。

2、消息重試

生產者沒有掛掉,但是因為網絡等其他問題,導致生產者不知道有沒有投遞成功。這時候生產者可以失敗重試,這保證消息可以再次投遞。但是這有可能會出現(xiàn)重復投遞,導致出現(xiàn)中間件消息數據重復。

存儲

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

消費

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