请稍等 ...
×

采纳答案成功!

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

消息100%投递保障方案1

图片描述
老师3个问题
1 direct交换机可以绑定多个队列吗?
2 对于这种交换机是direct 模式,一个消费者在一个数据库中一条消息很容易确定只需要更改一条数据的状态。对于topic、fanout发送了多条数据,多个消费者收到消息,怎么确定这些消费者都收到消息。
3 两个字段 try_count next_retry 为什么需要有两个字段?只要一个try_count字段也可以判断

正在回答

1回答

1.交换机direct是直连模式,也就是说可以不通过exchange路由规则去和对列直接绑定,走的是默认的defaultexchange,至于绑定多个队列那就不可以了,但是其他模式的,比如topic,是可以在exchange下绑定多个队列的,然后用一些模糊匹配的规则去路由到多个队列即可。
2.这个是要在消费端自己来用幂等去进行去重的,一般可以是业务唯一主键。
3.这两个,一个是下一次重试的时间,一个是重试的次数,都是指当前正在重试第几次,以及下一次重试时间是什么时候,我理解这样比较精确,当然小伙伴有更好的方式也可,最近比较忙回答问题会稍微晚一些,见谅

0 回复 有任何疑惑可以回复我~
  • 提问者 无道8 #1
    非常感谢!
    回复 有任何疑惑可以回复我~ 2019-06-07 17:40:44
  • 提问者 无道8 #2
    老师客气了 这里还是不能理解
    对于topic、fanout发送了多条数据,多个消费者收到消息,怎么确定这些消费者都收到消息。
    回复 有任何疑惑可以回复我~ 2019-06-07 17:41:17
  • 阿神 回复 提问者 无道8 #3
    消费者是有ack的,一般选择手工提交的方式,当消息消费完毕或者落库后,进行手工ack通知rabbitmq broker应答即可
    回复 有任何疑惑可以回复我~ 2019-06-07 18:08:37
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信