You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Vert.x EventBus在K8s集群中异常:集群已形成但消息无法传递

Vert.x集群EventBus跨服务通信异常问题

环境与配置概述

我们在OpenShift/K8s平台运行两个基于Vert.x框架开发的服务,通过cluster.xml配置使用Kubernetes API实现Hazelcast集群发现,集群已确认形成。

EventBus代码实现

  • Service 1(消息发送方):
    vertx.eventBus().request("child", s, res-> { /* 响应处理逻辑 */ });
    
  • Service 2(消息消费方):
    vertx.eventBus().consumer("child", (message) -> { /** 消息处理逻辑 **/ });
    

cluster.xml核心配置

启用Hazelcast Kubernetes发现插件,限制集群通信接口为192.168.*.*

版本信息

  • Hazelcast 5.3.6
  • Vert.x 4.5.7
  • Vert.x-Hazelcast 4.5.7
  • K8s v1.25.11+c43ddea
  • Istio 1.17.5-solo
  • JDK 8

集群状态日志

  • Service 1初始日志:节点启动完成,Kubernetes插件成功发现节点,集群初始成员数为1
  • Service 1加入第二个成员后日志:集群连接初始化完成,成员数变为2,包含Service 2的IP 192.168.58.91
  • Service 2日志:成功加入集群,成员列表包含Service 1的IP 192.168.54.48

问题描述

问题1:跨服务消息发送失败

报错信息如下:

Not connected to server c7ee11dc-98d4-4217-969c-e2ee2ac85ce9 - starting queuing
Draining the queue for server c7ee11dc-98d4-4217-969c-e2ee2ac85ce9
Cluster connection closed for server c7ee11dc-98d4-4217-969c-e2ee2ac85ce9

同时伴随错误:(NO_HANDLERS,-1) No handlers for address child
已通过Java Socket测试确认服务间网络连通正常。

问题2:集群连接时出现未知IP

Service 2部署后,Service 1初始化集群连接时尝试连接未知IP 127.0.0.6:52235,但集群成员列表显示的是正确的Service 2 IP。


内容的提问来源于stack exchange,提问作者Harish ThulasiRam

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 23:52:51