日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

rockemq 发送延迟消息_RockeMQ通过代码监控消费者状态

發布時間:2025/4/16 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 rockemq 发送延迟消息_RockeMQ通过代码监控消费者状态 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

==背景==

物聯網場景,在設備端寫了一個小的API服務程序,這個程序包括:

1、向平臺上報設備數據

2、創建消費者客戶端,用來監聽平臺的下行命令

==問題==

平臺層需要知道設備的狀態:在線? or? 離線。我能想到的解決辦法

1、設備上報心跳數據,平臺通過心跳來判斷設備是否在線。

2、rocketmq應該有可以監控消費者狀態的命令,是否可以通過這個命令實現。

方案1肯定是沒有問題的,不過缺點就是需要在平臺上寫狀態管理的代碼,麻煩不說,可能還有延遲。

于是想嘗試方法2是否可行。

==踐行過程==

首先,我觀察了rocketmq-console(RocketMQ的Web界面,需要獨立部署),發現可以通過Web界面查看消費者狀態,結果如圖:

通過瀏覽器的控制臺日志,可以看到調用的是consumerConnection.query接口。

很好,我是否可以借鑒一下這個思路,去監聽消費者狀態呢。

按照這個思路走,去github上找了源碼:https://github.com/apache/rocketmq-externals

通過查看他們的源碼,才知道RocketMQ已經提供了供查看消費者鏈接信息的API。

==API示例==

需要引入新的pom文件rocketmq-tools、rocketmq-common,增加只有,所有的pom為

org.apache.rocketmq

rocketmq-store

4.5.0

org.apache.rocketmq

rocketmq-client

4.5.0

org.apache.rocketmq

rocketmq-acl

4.5.0

org.apache.rocketmq

rocketmq-tools

4.5.0

org.apache.rocketmq

rocketmq-common

4.5.0

Java代碼示例

packageadmin;importorg.apache.rocketmq.client.exception.MQBrokerException;importorg.apache.rocketmq.client.exception.MQClientException;importorg.apache.rocketmq.common.protocol.body.ConsumerConnection;importorg.apache.rocketmq.remoting.exception.RemotingException;importorg.apache.rocketmq.tools.admin.DefaultMQAdminExt;public classAdminExtSample {public static voidmain(String[] args)throwsMQClientException, InterruptedException, MQBrokerException, RemotingException {

DefaultMQAdminExt defaultMQAdminExt= newDefaultMQAdminExt();

defaultMQAdminExt.setNamesrvAddr("101.132.242.90:9876;47.116.50.192:9876");

defaultMQAdminExt.start();

ConsumerConnection cc= defaultMQAdminExt.examineConsumerConnectionInfo("device_cg_notice_down");

System.out.println(cc.toString());

defaultMQAdminExt.shutdown();

}

}

這樣就可以獲取上面web頁面中的所有信息了。

--END--

RockeMQ通過代碼監控消費者狀態

總結

以上是生活随笔為你收集整理的rockemq 发送延迟消息_RockeMQ通过代码监控消费者状态的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。