300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > 自定义消息发送规则

自定义消息发送规则

时间:2022-04-03 13:37:47

相关推荐

自定义消息发送规则

通过自定义发送策略来实现消息只发送到同一个队列

因为一个Topic 会有多个Message Queue ,如果使用Producer 的默认配置,这个Producer 会轮流向各个Message Queue 发送消息。Consumer 在消费消息的时候,会根据负载均衡策略,消费被分配到的Message Queue

如果不经过特定的设置,某条消息被发往哪个Message Queue ,被哪个Consumer 消费是未知的

如果业务需要我们把消息发送到指定的Message Queue 里,比如把同一类型的消息都发往相同的Message Queue。那是不是可以实现顺序消息的功能呢?

和kafka一样,rocketMQ也提供了消息路由的功能,我们可以自定义消息分发策略,可以实现MessageQueueSelector,来实现自己的消息分发策略

SendResult sendResult=producer.send(msg, new MessageQueueSelector() {@Overridepublic MessageQueue select(List<MessageQueue> list, Message message, Objecto) {int key=o.hashCode();int size = list.size();int index = key%size;return list.get(index);// list.get(0);}},"key_"+i);

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。