9. 领导选举
Spring Cloud Kubernetes 的领导者选举机制使用 Kubernetes ConfigMap 实现了 Spring Integration 的领导者选举 API。
多个应用实例竞争领导权,但领导权仅授予其中一个。
当获得领导权时,领导者应用将收到一个 OnGrantedEvent 应用事件,其中领导权为 Context。
应用会定期尝试获取领导权,领导权授予首个请求者。
领导者将保持其领导地位,直至其从集群中被移除或主动放弃领导权。
当领导权被移除时,前一领导者将收到 OnRevokedEvent 应用事件。
移除后,集群中的任何实例均可成为新的领导者,包括原领导者。
要将其包含到您的项目中,请添加以下依赖项。
Fabric8 Leader 实现
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-kubernetes-fabric8-leader</artifactId>
</dependency>
要指定用于领导者选举的配置映射(configmap)名称,请使用以下属性。
spring.cloud.kubernetes.leader.config-map-name=leader