領導者選舉
Spring Cloud Kubernetes 領導者選舉機制使用 Kubernetes ConfigMap 實現了 Spring Integration 的領導者選舉 API。
多個應用程式例項競爭領導權,但只會授予給一個。當被授予領導權時,領導者應用程式會收到一個帶有領導權 Context
的 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