9. 领导选举
Spring Cloud Kubernetes leader 选举机制使用 Kubernetes ConfigMap 实现了 Spring Integration 的 leader 选举 API。
多个应用程序实例争夺领导权,但领导权只会授予一个。
当被授予 leadership 时,leader 应用程序将收到带有 leadership 的应用程序事件。
应用程序会定期尝试获得领导权,并将领导权授予第一个调用方。
领导者将保持领导者状态,直到它从集群中删除,或者它获得其领导地位。
当领导被免职时,前一个领导会收到 application 事件。
删除后,集群中的任何实例都可能成为新的 leader,包括旧的 leader。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