Я запускаю приложение загрузки весны в кластерной настройке zookeeper. Я использую выборы лидеров, чтобы убедиться, что работает только один экземпляр приложения springboot. Как только лидер опускается, тогда другой узел (последователь) занимает лидера и начинает процесс. Если лидер уйдет, потому что мы завершаем приложение, тогда может работать новый лидер. но если сеть потеряна с лидером, тогда процесс у старого лидера все равно будет запущен, а также будет запускаться новый лидер. Таким образом, будут запущены два экземпляра. Есть ли способ остановить приложение у старого лидера? или я задаю неправильный вопрос. Я новичок в Springboot и Zookeeper. Исправьте меня, если я ошибаюсь!Завершение загрузки приложения загрузки после соединения zookeeper потеряно
2
A
ответ
1
Вы можете сделать это с помощью spring-boot-actuator
. У этого есть конечная точка /shutdown
, которая делает именно то, что она говорит на олове. Обратите внимание, эта конечная точка не включена по умолчанию, так что вы должны включить его, установив следующее application.properties
:
endpoints.shutdown.enabled=true
Вы, вероятно, хотите настроить некоторые безопасности вокруг этого тоже, так как это не мудрая идея, чтобы кто-нибудь просто закрыть вниз по вашему приложению.
Для получения дополнительной информации см. docs