RocketMQ 如何进行消息的监控和管理?

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

相关代码:

  1. org.apache.rocketmq.client.MQAdmin:Java API管理集群与主题。
  2. org.apache.rocketmq.client.hook:生产/消费端钩子接口。
  3. org.apache.rocketmq.client.impl.producer.DefaultMQProducerImpl:设置消息发送监听器。
  4. org.apache.rocketmq.client.impl.consumer.DefaultMQPushConsumerImpl:设置消费消息钩子。
  5. org.apache.rocketmq.tools.admin:mqadmin工具源码。
  6. rocketmq-console:RocketMQ控制台前端与后端源码。