RocketMQ 5.0 引入了 TopicMessageType
的概念,并且使用了现有的主题属性功能来实现它。
主题的创建是通过 mqadmin
工具来申明 message.type
属性。
使用案例
代码语言:javascript复制 # default
sh ./mqadmin updateTopic -n <nameserver_address> -t <topic_name> -c DefaultCluster
# normal topic
sh ./mqadmin updateTopic -n <nameserver_address> -t <topic_name> -c DefaultCluster -a message.type=NORMAL
# fifo topic
sh ./mqadmin updateTopic -n <nameserver_address> -t <topic_name> -c DefaultCluster -a message.type=FIFO
# delay topic
sh ./mqadmin updateTopic -n <nameserver_address> -t <topic_name> -c DefaultCluster -a message.type=DELAY
# transaction topic
sh ./mqadmin updateTopic -n <nameserver_address> -t <topic_name> -c DefaultCluster -a message.type=TRANSACTION
需要注意的是,rocketmq5.x提供了创建topic时指定主题类型的选项,即上面命令中-a部分配置的message.type就是指定消息主题类型。rocketmq-dashboard目前还不支持配置主题类型,不过可以通过rocketmq-dashboard的源码进行改造,或者使用mqadmin命令创建对应主题也可以。