<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
所有訊息佇列都可能發生的問題
針對這類問題,三種訊息佇列都提供了生產者訊息傳送確認的模式,例如將kafka的acks引數設定為大於0,將rabbitMQ的通道設定為confirm模式。而在rocketMQ中會返回訊息傳送狀態碼。其中rabbitMQ和rocketMQ還提供了生產者事務操作。
只有某些訊息佇列才會發生的問題
與生產者類似,若消費者在消費訊息失敗時未告知訊息佇列,此訊息丟失。kafka,rabbitMQ,rocketMQ都提供了相似的消費成功確認機制來解決這個問題,rabbitMQ通過auto_ack引數設定自動確認或手動確認。
而rocketMQ和kafka通過訊息偏移量來控制資訊消費,rocketMQ在pull模式下需要自己維護偏移量。
這個很好理解,例如rabbitMQ預設將訊息儲存再記憶體中,如果佇列崩潰,訊息自然丟失
kafka保證同一分割區內訊息的順序,也就是說,如果要讓某一topic內訊息全部有序,只能為該topic設定一個分割區,這會降低該主題的吞吐量。通常使用訊息的key值將訊息散佈到不同分割區上,以此保證訊息的區域性有序性,但這種區域性有序性的保證僅僅在訊息寫入分割區時是有序的才能保證,例如生產者按順序訊息寫入訊息A,訊息B,訊息A寫入失敗,訊息B寫入成功,生產者重發訊息A且成功,這時候兩個訊息的順序就顛倒了,解決方式是設定max.in.flight.requests.per.connection為1,指定生產者在收到訊息成功傳送的確認之前不允許傳送其他資訊,但這種方式也會嚴重降低吞吐量。
另一個問題是kafka預設的分割區器使用雜湊演演算法將訊息的key值對映到對映的分割區上,如果增加了分割區,key值對映的分割區可能會與之前的不一致。在kafka中,一個分割區只能被一個消費者消費,保證了訊息消費的區域性有序性。
rocketMQ的佇列(Message Queue)與kafka的分割區在概念上相似,所以rocketMQ在訊息有序性的保證上自然也是基於佇列(Message Queue)的,同kafka一樣,如果要讓某一主題內的訊息有序,必須將此主題內的獨寫佇列數量設為1,但和kafka一樣,這種操作會大量降低該主題的吞吐量。
rocketMQ中在傳送訊息時傳入自定義的MessageQueueSelector保證訊息生產的區域性有序性,在消費訊息時push模式下通過MessageListenerOrderly保證順序消費。
對於rabbitMQ,我沒有找到相關的資料,個人猜測,rabbitMQ同一佇列內訊息的有序性應該是有保障的,但大多數人會在生產者和消費者中增加訊息有序性判斷
幾乎所有的訊息佇列中都未能提供不重複訊息的保證,而且訊息重複與訊息丟失幾乎是二選一的問題,大多數情況下我們選擇保證訊息不丟失而容忍一部分訊息重複,最廣泛的解決訊息重複的方式是在消費者端對訊息進行驗證或者保證消費的冪等性
以上就是kafka rabbitMQ及rocketMQ佇列的訊息可靠性保證分析的詳細內容,更多關於kafka rabbitMQ rocketMQ訊息佇列的資料請關注it145.com其它相關文章!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45