对于Apache RocketMQ请问namesrv中ordertopicconfig这个配置有什么作用啊?看了源码没明白,跟顺序消息有关吗?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
有关系,主要是顺序消息你是想保持顺序还是高可用。比如2个broker,每个broker8个队列,一共16个队列。key会hash到一个队列保证FIFO,但如果一个broker挂了,没有设置orderTopicConf,保证高可用,路由会更新成8个队列(16->8),key会重新hash,顺序积极乱了。如果设置了orderTopicConf,保证路由不变,仍然是16个队列,key hash到的队列不变,但发到挂了broker上的消息就会失败,就是保序不保证高可用。看看这个代码,就是顺序消息的路由更不更新,设置了后可以不更新,保证严格顺序。此回答整理自钉钉群”群2-Apache RocketMQ 中国开发者钉钉群“
楼主你好,是跟顺序消息相关的,Apache RocketMQ 中的 OrderTopicConfig 是在 NameServer 中用来保存顺序消息消费的配置信息的一个类。它可以配置指定 Topic 的顺序消息的消费模式,以及与顺序消息相关的其他参数。例如:
OrderTopicConfig 中的 order 字段指定了顺序消息的消费模式,它有两个可选值:
true:启用顺序消息消费模式。
false:禁用顺序消息消费模式
OrderTopicConfig 中的配置对于非顺序消息的消费不会有影响。只有在消费顺序消息时,才需要配置 OrderTopicConfig 中的相关参数
涵盖 RocketMQ、Kafka、RabbitMQ、MQTT、轻量消息队列(原MNS) 的消息队列产品体系,全系列产品 Serverless 化。RocketMQ 中文社区:https://rocketmq-learning.com/