搜索

2.6. 问题和答案

download PDF
为什么要同步数据库复制?
同步复制数据库可确保在故障切换时,在主站点中写入的数据始终可用,且不会丢失数据。
为什么要同步数据网格复制?
同步复制的数据网格确保主站点中创建、更新和删除的会话始终在故障切换的次要站点中可用,且不会丢失数据。
为什么在站点之间需要低延迟网络?
同步复制会延迟对调用者的响应,直到次要站点接收数据。对于同步数据库复制和同步数据网格复制,需要低延迟,因为当数据更新时,每个请求在站点之间可能存在多个交互,这会降低延迟。
为什么使用主动-被动?
有些数据库支持一个带有 reader 实例的单一写器实例,然后在原始写入器失败时将其提升到新的写入器。在这样的设置中,延迟与当前有效的 Keycloak 构建相同的站点有 writer 实例很有用。同步数据网格复制可能会导致同时修改两个站点中的条目时死锁。
此设置是否仅限于两个站点?
此设置可以扩展到多个站点,不需要修改三个站点。添加更多站点后,站点之间的总体延迟会增加,以及网络故障的类似线,因此还会增加停机时间。因此,此类部署应该具有更糟糕的性能和一个 inferior。现在,它已被测试,且只适用于两个站点的蓝图。
同步集群是否稳定低于异步集群?

异步设置将正常处理站点之间的网络故障,而同步设置会延迟请求,并将向调用者抛出错误,其中异步设置会将写入 Data Grid 或数据库延迟到次要站点。但是,由于二级站点永远不会与主站点完全更新,因此这个设置可能会导致在故障切换过程中丢失数据。这包括:

  • 丢失的注销,这意味着会话会记录在次要站点,但它们在使用异步数据网格复制时在故障转移点登录到主站点。
  • 丢失更改会导致用户可以使用旧密码登录,因为在使用异步数据库时,数据库更改不会复制到次要站点。
  • 无效的缓存会导致用户可以使用旧密码登录,因为在使用异步数据网格复制时,故障转移时不会向二级站点传播无效的缓存。

因此,高可用性和一致性之间存在利弊。本主题的重点是,优先选择红帽构建的 Keycloak 的可用性的一致性。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.