RocketMQ提供多种方式对消息进行监控与管理:
1、RocketMQ控制台:通过浏览器访问控制台页面对集群、主题、消费组等进行监控与管理。
- 创建主题:在控制台创建新的消息主题。
- 查看消息轨迹:查看指定消息从生产到消费的完整轨迹。
- 消息查询:根据条件查询指定主题中的消息。
- 集群监控:监控Broker运行时指标与Topics等信息。
2、 mqadmin工具:通过命令行使用mqadmin工具对集群与主题进行管理。
- 创建主题:./mqadmin createTopic -n localhost:9876 -t TopicTest
- 更新主题:./mqadmin updateTopic -n localhost:9876 -t TopicTest -r “0 30 10 * * ? 2020” // 设置定时规则
- 删除主题:./mqadmin deleteTopic -n localhost:9876 -t TopicTest
3、 Java管理API:通过RocketMQ提供的Java API对集群与主题进行管理。
- 创建主题:MQAdmin#createTopic()
- 更新主题:MQAdmin#createOrUpdateTopic()
- 删除主题:MQAdmin#deleteTopic()
4、 监听器与钩子方法:通过设置监听器与生产/消费端钩子方法监控消息发送与消费情况。
- 消息发送监听器:transactionListener
- 生产者发送前钩子:org.apache.rocketmq.client.hook.SendMessageBeforeHook
- 消费者消费前钩子:org.apache.rocketmq.client.hook.ConsumeMessageBeforeHook
相关代码:
- org.apache.rocketmq.client.MQAdmin:Java API管理集群与主题。
- org.apache.rocketmq.client.hook:生产/消费端钩子接口。
- org.apache.rocketmq.client.impl.producer.DefaultMQProducerImpl:设置消息发送监听器。
- org.apache.rocketmq.client.impl.consumer.DefaultMQPushConsumerImpl:设置消费消息钩子。
- org.apache.rocketmq.tools.admin:mqadmin工具源码。
- rocketmq-console:RocketMQ控制台前端与后端源码。