10.2. 复制和故障切换


有一些缓存,如 会话authenticationSessionsofflineSessionslogin Failure 和一些其他一些(更多详情请参阅 第 10.1 节 “驱除和过期” ),在使用集群设置时将它们配置为分布式缓存。条目不会复制到每个节点,而是选择一个或多个节点作为该数据的所有者。如果节点不是一个特定的缓存条目的所有者,它会查询集群来获取它。这意味着,如果所有拥有数据片段的节点都停机,则数据将永久丢失。默认情况下,Red Hat Single Sign-On 只为数据指定一个所有者。因此,如果一个节点停机,数据就会丢失。这通常意味着用户将被注销,并且必须重新登录。

您可以通过更改 distributed-cache 声明中的 owners 属性来更改复制数据的节点数量。

owners

<subsystem xmlns="urn:jboss:domain:infinispan:12.0">
   <cache-container name="keycloak">
       <distributed-cache name="sessions" owners="2"/>
...

在这里,我们更改了它,至少两个节点将复制一个特定用户的登录会话。

提示

推荐的所有者数量确实取决于您的部署。如果您不小心,如果用户在节点停机时注销,则一个所有者就足够了,并且您将避免复制。

提示

通常,将您的环境配置为使用带有粘性会话的负载均衡器。作为 Red Hat Single Sign-On 服务器的性能,Red Hat Single Sign-On 服务器会提供特定的请求,通常是来自分布式缓存中的数据的所有者,因此可以在本地查找数据。详情请查看 第 9.4 节 “粘性会话”

Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2026 Red Hat
返回顶部