多站點部署的建構區塊

建構區塊、替代方案和未考慮選項的概述

以下建構區塊是設定具有同步複製的多站點部署所必需的。

這些建構區塊會連結到具有範例設定的藍圖。它們會按照需要安裝的順序列出。

我們提供這些藍圖來展示一個功能完整且具有良好基本效能的最小範例,適用於常規安裝。您仍然需要根據您的環境和組織的標準與安全性最佳實務進行調整。

先決條件

兩個具有低延遲連線的站點

確保資料庫和外部 Infinispan 都能使用同步複製。

建議設定:在同一 AWS 區域內的兩個 AWS 可用區域。

不考慮:位於相同或不同大陸的兩個區域,因為這樣會增加延遲和網路故障的可能性。使用 AWS 上的 Aurora 區域部署作為服務的資料庫同步複製僅在同一區域內可用。

Keycloak 和 Infinispan 的環境

確保實例能夠根據需要部署和重新啟動。

建議設定:在每個可用區域中部署的 AWS 上的 Red Hat OpenShift Service (ROSA)。

不考慮:跨越多個可用區域的擴展 ROSA 叢集,因為如果配置錯誤,這可能成為單點故障。

資料庫

跨兩個站點同步複製的資料庫。

Infinispan

利用 Infinispan 的跨資料中心 (Cross-DC) 功能部署的 Infinispan。

藍圖: 使用 Infinispan Operator 使用 Infinispan Operator 部署用於 HA 的 Infinispan,並使用 Infinispan 的 Gossip Router 連接兩個站點。

不考慮:網路層上 Kubernetes 叢集之間的直接互連。未來可能會考慮。

Keycloak

每個站點中連接到外部 Infinispan 的 Keycloak 叢集部署。

藍圖: 使用 Keycloak Operator 部署用於 HA 的 Keycloak,其中包括連接到 Aurora 資料庫和 Infinispan 伺服器。

負載平衡器

一個負載平衡器,用於檢查每個站點中 Keycloak 部署的 /lb-check URL,再加上一個自動化機制來偵測兩個站點之間的 Infinispan 連線問題。

藍圖: 部署 AWS Global Accelerator 負載平衡器,部署 AWS Global Accelerator 負載平衡器,以及部署 AWS Lambda 以禁用無回應的站點

本頁面內容