使用 Spring Boot 和 Consul 处理 Leader 实例

Bar*_*son 5 java master-slave key-value-store spring-boot consul

我目前正在开发一个使用 Consul 作为服务发现的 Spring Boot 应用程序。
我们的 Web API 在不同的 Docker 容器上有多个实例,并且在 Consul 中注册成功。
我们现在的主要问题是在我们的实例中选举一个领导者,如果前任领导者下台,则自动重新选举。
我读过 Consul 提供了一个键值存储并锁定了它们,我认为我们可以使用事先创建的键,然后读取它的第一个实例将具有“锁定”。如果此实例崩溃,另一个实例将获得锁并被检测为新的领导者。
我已经阅读了几个示例,但是我只找到了命令行示例,而不是 Java/Spring 启动实现。

谁能告诉我这个想法是否可以完成这项工作,谁能提供一个 Spring Boot 示例或给我一个教程链接?
我是 Spring Boot 和 Consul 的初学者。

提前致谢!

Shi*_* NH 2

看看用于领事领导选举的java库,它有会话创建、领导选举等熟方法。

https://github.com/advantageous/elekt-consul