领导选举

Spring Cloud Kubernetes 领导选举机制使用 Kubernetes ConfigMap 实现 Spring Integration 的领导选举 API。

多个应用程序实例竞争领导地位,但只有一个实例可以获得领导地位。获得领导地位后,领导应用程序会收到一个包含领导地位上下文的OnGrantedEvent 应用程序事件。应用程序会定期尝试获得领导地位,领导地位将授予第一个调用者。领导者将保持领导地位,直到它从集群中移除或放弃领导地位为止。当领导地位被移除时,之前的领导者会收到OnRevokedEvent 应用程序事件。移除后,集群中的任何实例都可能成为新的领导者,包括旧的领导者。

要在您的项目中包含它,请添加以下依赖项。Fabric8 领导者实现

<dependency>
	<groupId>org.springframework.cloud</groupId>
	<artifactId>spring-cloud-kubernetes-fabric8-leader</artifactId>
</dependency>

要指定用于领导选举的 ConfigMap 的名称,请使用以下属性。

spring.cloud.kubernetes.leader.config-map-name=leader