在我当前的设置中,我使用Hazelcast集群管理器的默认多播选项。当我链接集装箱Vertx模块的实例(通过Docker网络链接)时,我可以看到他们正在成功创建Hazelcast集群。但是,当我尝试从一个模块发布事件总线上的事件时,另一个模块不会对它做出反应。我不确定Hazelcast集群中的网络设置如何与事件总线的网络设置相关。如何将Vert.x事件总线配置为跨Docker容器集群工作?
目前,我对每个Vert.x模块都有以下编程配置,每个模块都部署在泊坞窗容器中。
ClusterManager clusterManager = new HazelcastClusterManager();
VertxOptions vertxOptions = new VertxOptions()
.setClustered(true)
.setClusterManager(clusterManager);
vertxOptions.setEventBusOptions(new EventBusOptions()
.setClustered(true)
.setClusterPublicHost("application"));
,我可能必须配置clusterPublicHost
,并clusterPublicPort
的事件总线,但我不知道如何将这些涉及到一般的网络拓扑Vert.x核心手动状态。