broker
ons 默认有两个brokerName组,分别有0-7共16个队列
还有两个死信队列 topic是 %RETRY%+tag
consumer15分钟消费超时,broker会重发消息
Producer
轮询发送到broker队列
如果发送失败会换个队列
defaultTopicQueueNums
自动创建topic时设置队列数量
ons不允许自动创建topic,也不允许修改队列数量
Consumer
AllocateMessageQueueAveragely
- 默认 集群消费
平均分配可消费的 Broker 对应的消息队列 c1对应b1,b2,b3 c2对应d1,d2,d3
AllocateMessageQueueAveragelyByCircle
以环状轮流分Broker
广播消费
每个Consume都订阅每个Broker
注意点
-
刚启动时,broker分配还没有完成,会导致消息重复消费
-
但是可能会存在同样的消息有两个不同 msgId的情况(有多种原因),这种情况可能会使业务上重复消费,建议最好使用消息内容中的唯一标识字段去重
网友评论