領導者選舉

Spring Cloud Kubernetes 領導者選舉機制使用 Kubernetes ConfigMap 實現了 Spring Integration 的領導者選舉 API。

多個應用程式例項競爭領導權,但只會授予給一個。當被授予領導權時,領導者應用程式會收到一個帶有領導權 ContextOnGrantedEvent 應用程式事件。應用程式會定期嘗試獲得領導權,領導權會授予給第一個呼叫者。領導者將保持領導地位,直到它從叢集中移除,或者它放棄領導權。當領導權移除發生時,之前的領導者會收到 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