GitHub user francisoliverlee edited a comment on the discussion: RocketMQ 5.x,当使用Proxy时消费者无法从slave节点拉取消息
使用remoting客户端是的。方法是: findBrokerAddressInSubscribe(), ```AI解释```如下: 流程说明: 1. 首先检查brokerName是否为空,如果为空则直接返回null 2. 检查brokerAddrTable中是否存在该brokerName,如果不存在或为空则返回null 3. 根据传入的brokerId查找对应的broker地址 4. 如果未找到且是slave,则尝试查找brokerId+1的地址 5. 如果仍未找到且不要求只查找该broker,则取第一个broker地址 6. 根据找到的broker地址判断是master还是slave 7. 返回FindBrokerResult对象,包含broker地址、是否slave和broker版本信息 这个方法主要用于在订阅场景下查找指定broker的地址,支持查找master和slave,并且可以根据brokerId精确查找或随机查找。 实现代码 https://github.com/apache/rocketmq/blob/2219fd8c1aee3bc42f6a66394e0e4cf131006a26/client/src/main/java/org/apache/rocketmq/client/impl/factory/MQClientInstance.java#L1153-L1188 GitHub link: https://github.com/apache/rocketmq/discussions/9261#discussioncomment-12545592 ---- This is an automatically sent email for dev@rocketmq.apache.org. To unsubscribe, please send an email to: dev-unsubscr...@rocketmq.apache.org