0
コンシューマキューはクライアント側で割り当てられ、ブローカはこれについて何も知らない。どの消費者にどのキューが割り当てられているかを知る方法-RocketMQ?
どのようにどのキューがどのコンシューマクライアントに割り当てられているのかを監視できますか?
コンシューマキューはクライアント側で割り当てられ、ブローカはこれについて何も知らない。どの消費者にどのキューが割り当てられているかを知る方法-RocketMQ?
どのようにどのキューがどのコンシューマクライアントに割り当てられているのかを監視できますか?
終了コマンドはありませんが、コンシューマグループごとにメッセージキューごとに、管理インフラストラクチャを使用してクライアントを見つけることができます。ここでは、この達成スニペットれる:あなたはRocketMQ・コンソールプロジェクトを使用していない場合は
private Map<MessageQueue, String> getClientConnection(DefaultMQAdminExt defaultMQAdminExt, String groupName){
Map<MessageQueue, String> results = new HashMap<MessageQueue, String>();
try{
ConsumerConnection consumerConnection = defaultMQAdminExt.examineConsumerConnectionInfo(groupName);
for (Connection connection : consumerConnection.getConnectionSet()){
String clinetId = connection.getClientId();
ConsumerRunningInfo consumerRunningInfo = defaultMQAdminExt.getConsumerRunningInfo(groupName, clinetId, false);
for(MessageQueue messageQueue : consumerRunningInfo.getMqTable().keySet()){
results.put(messageQueue, clinetId + " " + connection.getClientAddr());
}
}
}catch (Exception e){
}
return results;
}
は、試してみて、それを実行してください:消費者タブでhttps://github.com/rocketmq/rocketmq-console-ng
、「消費者の詳細」ボタンをクリックして、あなた次のようにメッセージキューの割り当て結果が視覚的に表示されます。 Message queues allocation result