在zookeeper连接丢失后关闭Spring引导应用程序

时间:2016-01-19 04:18:00

标签: java spring-boot apache-zookeeper shutdown

我在集群zookeeper安装程序中运行spring boot应用程序。我正在使用leader选举来确保只有一个springboot应用程序实例正在运行。一旦领导者失败,其他节点(跟随者)就会占领领导者并开始该过程。如果领导者因我们关闭应用程序而关闭,那么新的领导者可以运行。但如果网络丢失了领导者,那么旧领导者的进程仍将继续运行,新的领导者也将运行。因此将运行两个实例。有没有办法阻止旧领导者的申请?或者我是在问一个错误的问题。我是springboot和zookeeper的新手。如果我错了,请纠正我!!

1 个答案:

答案 0 :(得分:1)

您可以使用spring-boot-actuator执行此操作。它有一个/shutdown端点,完全按照它在锡上的说法完成。请注意,默认情况下不启用此端点,因此您需要通过在application.properties中设置以下内容来启用它:

endpoints.shutdown.enabled=true

您可能也希望围绕此配置一些安全性,因为让任何人关闭您的应用程序并不是一个明智的想法。

有关详细信息,请参阅docs

相关问题