据我所知,在 RocketMq 中,“队列”类似于 Kafka 中的“分区”。一个主题有多个队列,也有多个代理(主从)。
但是队列是如何映射到主控的呢?
例如,如果我有一个包含 3 个队列和 3 个主控的主题。3 个队列分布在 3 个主控之间?或者每个主人有3个队列?
据我所知,在 RocketMq 中,“队列”类似于 Kafka 中的“分区”。一个主题有多个队列,也有多个代理(主从)。
但是队列是如何映射到主控的呢?
例如,如果我有一个包含 3 个队列和 3 个主控的主题。3 个队列分布在 3 个主控之间?或者每个主人有3个队列?
您可以在创建主题时指定队列号:
sh mqadmin updateTopic -h
usage: mqadmin updateTopic [-b <arg>] [-c <arg>] [-h] [-n <arg>] [-o <arg>] [-p <arg>] [-r <arg>] [-s <arg>]
-t <arg> [-u <arg>] [-w <arg>]
-b,--brokerAddr <arg> create topic to which broker
-c,--clusterName <arg> create topic to which cluster
-h,--help Print help
-n,--namesrvAddr <arg> Name server address list, eg: 192.168.0.1:9876;192.168.0.2:9876
-o,--order <arg> set topic's order(true|false
-p,--perm <arg> set topic's permission(2|4|6), intro[2:W 4:R; 6:RW]
-r,--readQueueNums <arg> set read queue nums
-s,--hasUnitSub <arg> has unit sub (true|false
-t,--topic <arg> topic name
-u,--unit <arg> is unit topic (true|false
-w,--writeQueueNums <arg> set write queue nums
这意味着您可以决定任何代理或集群中的队列号。更多详情请参考这里。