构建块多站点部署

构建块、替代方案和未考虑选项的概述

以下构建块是设置具有同步复制的多站点部署所需的。

构建块链接到具有示例配置的蓝图。它们按需要安装的顺序列出。

我们提供这些蓝图来展示一个最小功能完整示例,该示例具有针对常规安装的良好基线性能。您仍然需要根据您的环境以及组织的标准和安全最佳实践进行调整。

先决条件

两个具有低延迟连接的站点

确保数据库和外部 Infinispan 都可用于同步复制。

建议设置:同一个 AWS 区域内的两个 AWS 可用区。

未考虑:同一大陆或不同大陆的两个区域,因为这会增加延迟和网络故障的可能性。在 AWS 上使用 Aurora 区域部署的数据库即服务同步复制仅在同一区域内可用。

Keycloak 和 Infinispan 的环境

确保实例已部署并根据需要重启。

建议设置:每个可用区中部署的 AWS 上的 Red Hat OpenShift 服务 (ROSA)。

未考虑:跨多个可用区的拉伸 ROSA 集群,因为如果配置错误,这可能成为单点故障。

数据库

跨两个站点同步复制的数据库。

Infinispan

利用 Infinispan 的跨数据中心功能的 Infinispan 部署。

蓝图:使用 Infinispan 运算符部署具有 Infinispan 运算符的 HA Infinispan,并使用 Infinispan 的 Gossip 路由器连接两个站点。

未考虑:网络层上 Kubernetes 集群之间的直接互连。它可能在将来考虑。

Keycloak

每个站点中 Keycloak 的集群部署,连接到外部 Infinispan。

蓝图:使用 Keycloak 运算符部署 Keycloak 以实现 HA,其中包括连接到 Aurora 数据库和 Infinispan 服务器。

负载均衡器

一个负载均衡器,它检查每个站点中 Keycloak 部署的 /lb-check URL,以及一个用于检测两个站点之间 Infinispan 连接问题的自动化程序。

在此页面上