开发者社区 > 云原生 > 中间件 > 正文

这是有意为止,还是Apache Dubbo版本升级引入的bug?

不使用注册中心,消费者通过服务提供的url访问dubbo。先启动消费者,然后启动服务提供者。在dubbo3.1.7版本时,消费者可以在服务提供者启动以后重连成功,而dubbo-3.2.1却不行。根据源代码,负责重新连接的ConnectionListener类的实现已经更改。代码中连接引用的数量从正变为0,导致逻重连辑提前终止。这是有意为止,还是Apache Dubbo版本升级引入的bug?

展开
收起
三分钟热度的鱼 2023-07-12 09:26:05 68 0
2 条回答
写回答
取消 提交回答
  • 北京阿里云ACE会长

    Dubbo 3.2.x 版本中的 ConnectionListener 类确实对重连机制进行了修改,但是这个修改不应该导致消费者无法在服务提供者启动后重连成功。因此,这可能是 Dubbo 3.2.1 版本中的一个 bug。

    在 Dubbo 中,消费者可以通过服务提供者的 URL 直接访问服务,而不需要使用注册中心。Dubbo 会在消费者启动时建立与服务提供者的连接,并在连接断开后进行重连。在 Dubbo 3.1.7 版本中,ConnectionListener 类负责连接的重连和管理,可以在服务提供者启动后成功进行重连。而在 Dubbo 3.2.1 版本中,ConnectionListener 类的实现确实进行了修改,可能导致连接引用数量的变化,从而影响重连机制的正常运行。

    2023-07-29 09:02:21
    赞同 展开评论 打赏
  • 从您的描述中,可以推测出在 Dubbo 3.1.7 版本中,消费者可以在服务提供者启动后成功重新连接,但在 Dubbo 3.2.1 版本中却不行。您还提到了 ConnectionListener 类的实现发生了更改,并且连接引用数量从正变为0,导致重连逻辑提前终止。

    根据这些信息,我无法直接判断是否有意为之或是否是 Apache Dubbo 升级引入的 bug。因此,建议您通过以下几个步骤来进一步排查问题:

    1. 检查配置:确保 Dubbo 的配置文件(例如 dubbo.propertiesdubbo.yml)没有发生任何变化,并且消费者和服务提供者都正确配置了相应的注册中心信息和服务URL。

    2. 日志调试:在 Dubbo 3.2.1 版本中,启用详细的日志记录(如 DEBUG 或 TRACE 级别),并观察消费者端和服务提供者端的日志输出。尤其注意连接相关的日志,以查看是否存在错误消息或异常。

    3. 官方文档和社区讨论:查阅 Dubbo 3.2.1 版本的官方文档、GitHub 仓库或相关的社区讨论,了解是否存在与连接或重连相关的已知问题、规范变更或配置改动。

    2023-07-28 15:17:25
    赞同 展开评论 打赏

为企业提供高效、稳定、易扩展的中间件产品。

相关电子书

更多
Dubbo开源现状与2.7规划 立即下载
Dubbo分布式服务治理实战 立即下载
《Dubbo 3.0 前瞻》 立即下载

相关镜像