Как кластер GlassFish находит активные конечные точки IIOP?

У меня есть любопытство, и я искал его безрезультатно. В документации GlassFish написано:

Если экземпляр сервера GlassFish, на котором развернут клиент приложения, участвует в кластере, сервер GlassFish автоматически находит все активные в данный момент конечные точки IIOP в кластере. Однако клиент должен иметь как минимум две конечные точки, указанные для целей начальной загрузки, в случае сбоя одной из конечных точек.

но я спрашиваю себя, как создается этот список.

Я провел несколько тестов с автономным клиентом, который выполняется в JVM и выполняет некоторые вызовы RMI для приложения, развернутого в кластере GlassFish, и из журналов видно, что список конечных точек IIOP завершается автоматически, и он устанавливается как системное свойство com.sun.appserv.iiop.endpoints, но если я останавливаю экземпляр сервера или запускаю другой во время выполнения клиента, список остается тем, который был создан при запуске JVM.

1 ответ

Кластеризация GlassFish управляется GMS (Group Management Service), которая обычно использует UDP Multicast, но может использовать TCP там, где это недоступно.

См. Раздел 4 "Администрирование кластеров серверов GlassFish" в Руководстве по администрированию HA (PDF)

Служба управления группами (GMS) позволяет экземплярам участвовать в кластере, обнаруживая изменения в членстве в кластере и уведомляя экземпляры об изменениях. Чтобы GMS могла обнаруживать изменения в составе кластера, параметры GMS кластера должны быть правильно настроены.

Другие вопросы по тегам