В моей текущей настройке я использую вариант многоадресной рассылки по умолчанию менеджера кластеров 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"));
В Vert.x Основные руководство заявляет, что я, возможно, придется настроить clusterPublicHost
и clusterPublicPort
автобуса событий, но я не знаю, как те относятся к общей топологии сети.