Keycloak 独立集群配置是否需要仲裁?

Is quorum needed in Keycloak Standalone Clustered Configuration?

据说 Keycloak 建立在 WildFly 应用服务器及其子项目之上,如 Infinispan(用于缓存)和 Hibernate(用于持久性)。

Keycloak 推荐查看WildFly Documentation and High Availability Guide.

如果理解正确,独立集群配置允许在集群周围复制会话或传输 SSO 上下文。

我不明白是否需要奇数个 Keycloak 节点才能达到法定人数。

Singleton subsystem 状态

10.1.3. Quorum Network partitions are particularly problematic for singleton services, since they can trigger multiple singleton providers for the same service to run at the same time. To defend against this scenario, a singleton policy may define a quorum that requires a minimum number of nodes to be present before a singleton provider election can take place. A typical deployment scenario uses a quorum of N/2 + 1, where N is the anticipated cluster size. This value can be updated at runtime, and will immediately affect any active singleton services. e.g.

它是否与 Keycloak 及其独立集群配置有某种关系?

Response 来自 Keycloak 邮件列表:

不,Keycloak 使用 Infinispan 进行缓存,Infinispan 使用 JGroups 进行缓存 聚类。 JGroups 不需要共识。

It's stated that Keycloak is built on top of the WildFly application server and its sub-projects like Infinispan (for caching) and Hibernate (for persistence).

Keycloak recommends to look in WildFly Documentation and High Availability Guide.

If understood correctly Standalone Clustered Configuration allows session replication or transmission of SSO contexts around the cluster.

I don't understand though if odd number of Keycloak nodes is required so that there will be quorum.

不,这不是严格要求的。与几乎所有的分布式系统一样, 具有奇数个节点有助于从裂脑场景中恢复。