在控制器模式下,变量“isIsolated”始终为true,这将导致borker和控制器之间的心跳永

提问12.png

提问13.png

如图所示和标题所述,borker和控制器之间的心跳永远不会发生。

原提问者GitHub用户zhouchunhai

展开
收起
芬奇福贵 2023-05-26 10:16:02 67 分享 版权
1 条回答
写回答
取消 提交回答
  • rocketmq/broker/src/main/java/org/apache/rocketmq/broker/controller/ReplicasManager.java

    Lines 290 to 314 in f8bf7bd

    private boolean registerBrokerToController() { // Register this broker to controller, get brokerId and masterAddress. try { final RegisterBrokerToControllerResponseHeader registerResponse = this.brokerOuterAPI.registerBrokerToController(this.controllerLeaderAddress, this.brokerConfig.getBrokerClusterName(), this.brokerConfig.getBrokerName(), this.localAddress, this.haService.getLastEpoch(), this.brokerController.getMessageStore().getMaxPhyOffset()); final String newMasterAddress = registerResponse.getMasterAddress(); if (StringUtils.isNoneEmpty(newMasterAddress)) { if (StringUtils.equals(newMasterAddress, this.localAddress)) { changeToMaster(registerResponse.getMasterEpoch(), registerResponse.getSyncStateSetEpoch()); } else {

    代理注册到控制器成功后,isIsolated将为false。

    原回答者GitHub用户RongtongJin

    2023-05-26 16:46:19
    赞同 展开评论
问答地址:

阿里云拥有国内全面的云原生产品技术以及大规模的云原生应用实践,通过全面容器化、核心技术互联网化、应用 Serverless 化三大范式,助力制造业企业高效上云,实现系统稳定、应用敏捷智能。拥抱云原生,让创新无处不在。

还有其他疑问?
咨询AI助理