本文提供 Redis 部署作業和遷移至 Google Cloud的總覽,包括在不同服務上部署 Redis 的選項和取捨考量,具體取決於您的需求。
Redis 是記憶體內資料結構儲存庫,可用於資料庫、快取、訊息代理程式等。 Google Cloud 完全支援 Redis,包括:
Memorystore 和 Redis Ltd. 提供的全代管選項。
使用下列產品自行管理:
在 Google Cloud 上部署 Redis 的最佳方式取決於您的具體需求和規定。本指南提供的建議是根據一般最佳做法和考量事項。請務必徹底分析 Redis 工作負載,並參閱官方文件或尋求專業建議,瞭解特定用途或需求。
架構
您可以透過下列任一架構部署 Redis:
| 架構 | 說明 | 用途 | 部署方案 | 高可用性 | 讀取處理量 | 寫入處理量 |
|---|---|---|---|---|---|---|
| 標準 (獨立) | 單一 Redis 節點,沒有唯讀備用資源,也沒有高可用性。 | 所有資料都適合放在一個節點上,一個節點即可處理寫入和讀取總處理量,且不需要高可用性。 | Memorystore (全代管) 和 Redis 開放原始碼軟體 (OSS) (自行管理) 皆支援此功能。 自行管理需要較為複雜的設定。Memorystore 是快速入門的好選擇。 |
否 | 單一節點 | 單一節點 |
| 高可用性和/或唯讀備用資源 | 單一 Redis 節點用於寫入作業,額外節點則提供高可用性,並視需要共用讀取負載 (例如使用 Sentinel)。 | 寫入總處理量仍可由一個節點提供,但讀取總處理量無法由一個節點提供,或需要高可用性。 | 支援 Memorystore (全代管) 和 Redis OSS (自行管理)。 Redis Cluster 架構提供自動調度資源、高可用性和資料分割功能,非常適合大規模分散式應用程式。如要瞭解手動調度資源、叢集和分片時的取捨考量和必要維護工作,請參閱「 Memorystore for Redis Cluster 即時調度資源,完全不須停機」。 自行管理需要較為複雜的設定。 Memorystore 是快速入門的好選擇。 |
多可用區 | 多節點 | 單一節點 |
| 叢集 (不含 Proxy) | 多個節點會使用不同的資料分片分割資料寫入作業。您可以選擇新增高可用性和唯讀備用資源。 | 寫入總處理量無法由單一節點提供,且視需要高可用性或讀取複製。 | 多可用區 | 多節點 | 多節點 | |
| 叢集 (含 Proxy) | 多個節點會使用不同的資料分片分割資料寫入作業。您可以選擇新增高可用性和唯讀備用資源。Proxy 會部署在每個主要節點上。 | 在這些情況下,單一節點無法提供寫入輸送量,且視需要高可用性或讀取複製功能,以及用戶端應用程式重構為使用 Redis Cluster API 的成本過高或不便,或使用 Proxy 有其他好處。 | 由 Redis Enterprise Cloud (全代管) 或 Redis Enterprise Software (自行管理) 支援。 使用 Redis OSS 自行管理需要較為複雜的設定。 Redis Enterprise Cloud 是快速上手的絕佳選擇。 |
多可用區或多區域 (僅限 Redis Enterprise) | 多節點 | 單一節點 |
部署方案
Google Cloud 提供下列 Redis 部署選項:
- Google 全代管的 Memorystore for Redis Google Cloud:這項 Redis 服務由 Google 全代管,不僅可用性高且持久耐用,還具備成本效益,且設定、運作和擴充速度都很快。Memorystore 支援 Redis Cluster 和獨立版 Redis,並提供高可用性選項。
- 由 Redis Ltd.自行或全面管理的 Redis Enterprise:由 Redis Ltd. 授權的 Redis 叢集,具備高可用性和耐久性,並提供兩種管理選項:由 Redis Ltd. 管理 (「Redis Enterprise Cloud」),或由您自行管理 (「Redis Enterprise Software」),並享有 Redis Ltd. 的支援。您可以直接向 Redis Ltd. 採購 Redis Enterprise,也可以透過 Google Cloud Marketplace 採購。Redis Ltd. 支援在 Compute Engine、Google Kubernetes Engine 和 OpenShift 上部署。
- 自行管理的 Redis 開放原始碼軟體 (OSS):自行管理的 Redis 叢集或獨立 Redis,可選擇高可用性,並部署在 Compute Engine、Google Kubernetes Engine 或 OpenShift 上。
選擇 Redis 部署選項
本節說明如何選擇最適合工作負載的 Redis 部署選項。圖 1 顯示決策點的視覺總覽:
選擇 Redis 管理模式
您可以選擇下列其中一種管理模式:
全代管部署項目。您將部署和管理作業卸載至服務供應商。如果您想專注於建構應用程式,並卸載管理工作,請選擇這個模型。
自行管理部署。您必須負責部署及管理作業。如果符合下列任一條件,請選擇這個模型:
您已具備現有的作業規模經濟,因此在貴機構中管理及運作 Redis 在經濟上是合理的。
您策略性偏好僅限 IaaS 的依附元件。
您需要進階最佳化功能。
評估部署選項
選擇管理模式後,請評估可用的部署選項。
全代管選項
如要使用全代管部署作業,可以選擇 Memorystore 或 Redis Enterprise Cloud。
Memorystore
如果符合下列任一條件,請選用 Memorystore:
- 您偏好透過Google Cloud整合受管理軟體的支援服務。
- 您偏好整合 Google Cloud身分與存取權管理、API、機構政策、配額或 Cloud Asset Inventory 等建構函式。
- 您需要 Memorystore 專屬的特定功能 (例如縮減)。
如要進一步瞭解 Memorystore,請參閱 Memorystore 產品說明文件。
部署方案
- Memorystore for Redis (獨立版、高可用性)
- Memorystore for Redis Cluster (叢集、高可用性)
Redis Enterprise Cloud
如果符合下列任一條件,請選用 Redis Enterprise Cloud:
- 您需要 Redis Enterprise Cloud 專屬的特定功能 (例如跨區域主動式多主寫入,以及 99.999% 的服務水準協議、RedisSearch 用途)。
- 您需要叢集擴縮功能,但應用程式不支援 Redis Cluster API。
如要進一步瞭解 Redis Enterprise Cloud,請參閱 Redis Cloud 說明文件。
採購和計費方案
自行管理的選項
如果是自行管理的部署作業,您可以選擇 Redis Enterprise 和 Redis 開放原始碼軟體。
Redis Enterprise
如果符合下列任一條件,請選擇自行管理的 Redis Enterprise:
- 您的應用程式需要自動重新分片以擴充資源、快閃儲存裝置上的 Redis,或是 Kubernetes 適用的 Redis Enterprise Operator 等獨特功能。
- 您的營運團隊不具備必要技能,無法在沒有合格第三方支援的情況下,自行處理複雜的 Redis 問題。
- 您偏好 Redis Ltd. 提供的企業支援服務,且貴機構可負擔相關授權費用。
如要進一步瞭解 Redis Enterprise Software,請參閱 Redis Enterprise Software 說明文件。
部署方案
- 在 GKE 或 OpenShift 上自行管理的 Redis Enterprise 軟體, 可選擇使用 Redis Enterprise Operator for Kubernetes
- 在 Compute Engine 上自行管理的 Redis Enterprise 軟體
採購和計費方案
- 授權和支援費用由 Redis Inc. 收取,基礎架構費用則由 Google 收取。
- 授權和支援服務是透過 Google Cloud Marketplace 取得,而基礎架構則由 Google 收費。
Redis 開放原始碼軟體
如果符合下列任一條件,請選擇自行管理的 Redis 開放原始碼軟體:
- 您需要或偏好全面自訂,但無法透過其他方式達成。
- 您的營運團隊具備必要技能,可自行處理複雜的 Redis 問題,不需合格的第三方支援。
- 您想避免授權費用。
- 您擁有大量的內部 Redis 和 Linux 核心調整資源,或您的用途不需要調整。
部署自行管理的 Redis 開放原始碼軟體時,請根據您選擇的平台策略,選擇部署目標。Redis 開放原始碼軟體可部署在 Compute Engine、Google Kubernetes Engine 或 OpenShift 上。GKE Autopilot 可減少部署和管理工作,但可能在某些方面受到更多限制,例如難以擴充。
如要進一步瞭解 Redis 開放原始碼軟體,請參閱 Redis.io。
其他資源
功能比較
下表摘要列出所有部署選項的主要差異:
| 部署特性 | 部署方案 | |||
|---|---|---|---|---|
| Memorystore for Redis 和 Redis Cluster | Redis Enterprise Cloud | Redis Enterprise 軟體 | Redis 開放原始碼軟體 | |
| 管理員: | 完全由 Google 管理 | 由 Redis Ltd. 全代管。 | 自行管理 | 自行管理 |
| 支援 | Redis Ltd. | Redis Ltd. | 自行支援 | |
| 帳單處理機構 | Redis Ltd. 或 Google | Google 會收取基礎架構費用。 Redis Ltd. 授權和支援服務的費用由 Redis Ltd. 或 Google 收取。 |
||
| 費用項目 | 包含所有費用。 包括:基礎架構、授權、支援和管理費用。 詳情請參閱 Memorystore 定價。 |
包含所有費用。 包括:基礎架構、授權、支援和管理費用。 詳情請參閱 Redis Enterprise Cloud 定價。 |
這項費用包含軟體授權和支援服務。基礎架構用量費用由 Google Cloud另行收取。 管理費用 (包括部署、調整、人員和停機時間) 由客戶承擔。 詳情請參閱 Redis Enterprise Software 定價。 |
免付服務費或授權費。基礎架構使用費由 Google Cloud收取。 管理費用 (包括部署、調整、人員和停機時間) 由客戶承擔。 |
| 服務水準協議 |
詳情請參閱《Memorystore 服務水準協議》。 |
詳情請參閱 Redis Cloud 服務水準協議。 |
不適用。 您必須負責正常運作時間。 |
不適用。 您必須負責正常運作時間。 |
| 免費方案 | 否 | 是 | 免費試用 30 天 | 不適用 |
| 資料分層 | 否 | 自動調整級別 | 自動調整級別 | 否 |
| 多雲端 | 否 | 是 | 手動 | 可行,但需要投入大量心力 |
| 多區域主動-主動 | 否 | 是 | 手動 | 可行,但需要投入大量心力 |
| 模組 |
|
|
||
| 法規遵循 | 內建支援各種法規遵循制度。詳情請參閱「 法規遵循服務」。 | 內建支援各種法規遵循制度。詳情請參閱 Redis 信任中心。 | 內建支援各種法規遵循制度。詳情請參閱 Redis 信任中心。 | 您必須手動管理法規遵循事宜。詳情請參閱「 法規遵循服務」。 |
| 調度叢集寫入作業 | 資源使用率 | 資源使用率 | 向外擴充。縮放作業需要手動進行。 | 自行管理,需要手動操作。 |
| 自動重新平衡 | 是 | 是 | 自行管理,需要手動操作 | 自行管理,需要手動操作 |
| 新增高可用性 | 無縫接軌,不需重新部署 | 無縫接軌,不需重新部署 | 無須重新部署,但需要手動操作 | 需要大量手動作業,可能需要重新部署,視原始架構而定 |
| 新增唯讀備用資源 | 無縫接軌,不需重新部署 | 無縫接軌,不需重新部署 | 需要大量手動作業,可能需要重新部署,視原始架構而定 | 自行管理,需要手動操作 |
| 寫入總處理量超出負荷時,改用資料分片 Redis 叢集 | 需要重新部署,但我們提供工具,可減輕工作負擔。用戶端需要重構,才能支援 Redis 叢集 API。 | 無縫接軌,不需重新部署 | 無縫接軌,不需重新部署 | 自行管理,需要手動操作 |