请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

消息100%投递保障方案

图片描述

图片描述
老师我从网上搜索到的答案“消息100%投递保障方案”,能就这个图问下老师么
1 direct交换机可以绑定多个队列吗?
2 对于这种交换机是direct 模式,一个消费者在一个数据库中一条消息很容易确定只需要更改一条数据的状态。对于topic、fanout发送了多条数据,多个消费者收到消息,怎么确定这些消费者都收到消息。
3 两个字段 try_count next_retry 为什么需要有两个字段?只要一个try_count字段也可以判断

正在回答 回答被采纳积分+3

1回答

Jimin 2019-05-24 09:37:32

你好,他这个设计的核心就在于这个表上,利用这个表记录待发送的消息及消息是否是否收到对面ack。try count代表已经尝试投递的次数吧,next retry代表的是如果没收到ack下次重试的时间吧。
这是我通过两张图大致看出来的,需要消费端做好严格的幂等,否则一定会出现消息重复消费,这个也有其他问题,就是消息的顺序,允许随意乱序,否则能否重试就不确定了。
以上是我对图的了解,我没明白的是你的问题,这些方案和rabbitmq的topic投递方式有啥关系,这个是站在消息队列整体角度,下面适配什么消息队列去配合做普通消息投递就可以了,只要用表记好发送的消息和ack的消息即可。

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信