构建块多站点部署

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

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

构建块链接到一个包含示例配置的蓝图。 它们按照安装顺序排列。

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

先决条件

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

确保数据库和外部 Infinispan 均可进行同步复制。

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

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

Keycloak 和 Infinispan 的环境

确保实例根据需要进行部署和重启。

建议设置: 在每个可用区中部署的 Red Hat OpenShift Service on AWS (ROSA)。

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

数据库

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

Infinispan

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

蓝图: 使用 Infinispan Operator 为 HA 部署 Infinispan,并使用 Infinispan 的 Gossip Router 连接两个站点。

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

Keycloak

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

蓝图: 使用 Keycloak Operator 为 HA 部署 Keycloak,其中包括连接到 Aurora 数据库和 Infinispan 服务器。

负载均衡器

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

在此页上