В моей текущей настройке я использую опцию многоадресной рассылки по умолчанию диспетчера кластеров Hazelcast. Когда я связываю экземпляры моих контейнерных модулей Vertx (через сетевые ссылки Docker), я вижу, что они успешно создают кластер Hazelcast. Однако, когда я пытаюсь публиковать события в шине событий из одного модуля, другой модуль на это не реагирует. Я не уверен, как настройки сети в кластере Hazelcast связаны с настройками сети для шины событий.
На данный момент у меня есть следующая программная конфигурация для каждого из моих модулей Vert.x, каждый из которых развернут внутри контейнера докеров.
ClusterManager clusterManager = new HazelcastClusterManager();
VertxOptions vertxOptions = new VertxOptions()
.setClustered(true)
.setClusterManager(clusterManager);
vertxOptions.setEventBusOptions(new EventBusOptions()
.setClustered(true)
.setClusterPublicHost("application"));
В руководстве Vert.x Core указано, что мне, возможно, придется настроить clusterPublicHost
и clusterPublicPort
для шины событий, но я не уверен, как они связаны с общей топологией сети.