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

Posted

技术标签:

【中文标题】Keycloak 独立集群配置中是不是需要仲裁?【英文标题】:Is quorum needed in Keycloak Standalone Clustered Configuration?Keycloak 独立集群配置中是否需要仲裁? 【发布时间】:2019-12-02 23:09:40 【问题描述】:

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

Keycloak 建议查看WildFly Documentation 和High Availability Guide。

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

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

Singleton subsystem 状态

10.1.3。 Quorum Network 分区对于单例服务尤其成问题,因为它们可以触发多个单例 同一服务的提供者同时运行。保卫 针对这种情况,单例策略可以定义一个法定人数 在单例之前需要存在最少数量的节点 可以进行提供者选举。典型的部署方案使用 quorum of N/2 + 1,其中 N 是预期的集群大小。这个值 可以在运行时更新,并将立即影响任何活动的 单例服务。例如

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

【问题讨论】:

【参考方案1】:

Response 来自 Keycloak 邮件列表:

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

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

Keycloak 建议查看 WildFly 文档和高可用性 指南。

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

我不明白是否需要奇数个 Keycloak 节点,所以 会有法定人数。

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

【讨论】:

以上是关于Keycloak 独立集群配置中是不是需要仲裁?的主要内容,如果未能解决你的问题,请参考以下文章

mogodb集群配置笔记

SqlServer 2012 AlwayOn 集群配置新建可用性组,该节点不是仲裁中的一部分

Mongodb集群形式探究-一主一从一仲裁。

mongodb需要配置仲裁节点

从0开始搭建SQL Server AlwaysOn 第二篇(配置故障转移集群)

从0开始搭建SQL Server 2012 AlwaysOn 第二篇(配置故障转移集群)