Google Cloud 上 Redis 的部署選項


本文將概略說明 Redis 部署作業和遷移至 Google Cloud的相關資訊,包括根據您的需求,在不同服務上部署 Redis 的選項和取捨。

Redis 是記憶體內資料結構儲存庫,可用於資料庫、快取、訊息代理程式等。 Google Cloud 完全支援 Redis,包括以下項目:

在 Google Cloud 上部署 Redis 的最佳方式取決於您的具體需求。本指南提供的最佳做法建議是根據一般最佳做法和考量因素而制定。請務必徹底分析 Redis 工作負載,並參閱官方說明文件,或針對特定用途或需求尋求專業建議。

架構

您可以使用下列任一架構部署 Redis:

架構 說明 用途 部署選項 高可用性 讀取處理量 寫入處理量
標準 (獨立) 單一 Redis 節點,沒有唯讀備用資源,且不提供高可用性。 所有資料都可放入單一節點,寫入和讀取總處理量可由單一節點提供,且不需要高可用性。

支援 Memorystore (全代管) 和 Redis 開放原始碼軟體 (OSS) (自行管理)。

自管需要更複雜的設定。Memorystore 是快速入門的好選擇。

單一節點 單一節點
HA 和/或唯讀備用資源 單一 Redis 節點用於寫入作業,其他節點則可提供高可用性,並可視需要共用讀取負載,例如使用 Sentinel。 在某些情況下,寫入總處理量仍可由一個節點提供,但讀取總處理量無法由一個節點提供,或需要高可用性。

支援 Memorystore (全代管) 和 Redis OSS (自行管理)。

Redis Cluster 架構提供自動調度、高可用性和資料分割功能,非常適合大規模的區塊鏈應用程式。如要瞭解手動調整規模、建立叢集和分割資料時的取捨之處,以及所需的維護工作,請參閱「 Memorystore for Redis Cluster 的零停機調整規模」一文。

自助管理需要更複雜的設定。Memorystore 是快速入門的好選擇。

多個 AZ 多個節點 單一節點
叢集 (不含 Proxy) 多個節點會使用不同的資料分區分割資料寫入作業。您可以視需要新增高可用性和唯讀備用資源。 在某些情況下,單一節點無法提供寫入總處理量,因此需要選用高可用性或讀取備援機制。 多個 AZ 多節點 多個節點
叢集 (含 Proxy) 多個節點會使用不同的資料分區分割資料寫入作業。您可以視需要新增高可用性和唯讀備用資源。代理程式會部署至每個主要節點。 在下列情況下,單一節點無法提供寫入吞吐量,且需要高可用性或讀取複寫功能 (可選),且用戶端應用程式重構為使用 Redis Cluster API 的成本過高或不方便,或使用 Proxy 有其他優點。

支援 Redis Enterprise Cloud (全代管) 或 Redis Enterprise 軟體 (自行管理)。

使用 Redis OSS 自行管理需要更複雜的設定。Redis Enterprise Cloud 是快速上手的好選擇。

多 AZ 或多區域 (僅限 Redis Enterprise) 多個節點 單一節點

部署選項

Google Cloud 提供下列 Redis 部署選項:

  • 由 Google Cloud全代管的 Memorystore for Redis:由 Google 管理的全代管 Redis 服務,具備高可用性和持久性,可快速設定、運作及擴充,且具備成本效益。Memorystore 支援Redis Cluster獨立 Redis,並提供高可用性選項。
  • 由 Redis Ltd.提供的自行管理或全代管 Redis Enterprise:由 Redis Ltd. 授權的高可用性和持久性 Redis 叢集,提供兩種管理選項:由 Redis Ltd. 代管 (「Redis Enterprise Cloud」) 或自行管理 (「Redis Enterprise Software」),並提供 Redis Ltd. 支援。您可以直接向 Redis Ltd.Google Cloud Marketplace 採購 Redis Enterprise。Redis Ltd. 支援在 Compute Engine、Google Kubernetes Engine 和 OpenShift 上進行部署。
  • 自行管理的 Redis 開放原始碼軟體 (OSS):自行管理的 Redis 叢集或獨立的 Redis (可選高可用性),可部署在 Compute Engine、Google Kubernetes Engine 或 OpenShift 上。

選擇 Redis 部署選項

本節說明如何選擇最適合工作負載的 Redis 部署選項。圖 1 以視覺化方式概略呈現決策點:

Redis 部署選項決策樹。
圖 1:決策因素和部署選項。

選擇 Redis 管理模式

您可以選擇下列其中一種管理模式:

  • 全代管部署。您可將部署和管理作業卸載至服務供應商。如要專注於建構應用程式並卸載管理工作,請選擇這個模式。

  • 自行管理部署作業。您需要負責部署和管理作業。符合下列任一條件時,請選擇這個模型:

    • 您已具備營運規模經濟,因此在貴機構中管理及運作 Redis 是合理的經濟選擇。

    • 您有偏好採用僅限 IaaS 的依附元件。

    • 需要進階最佳化功能。

評估部署選項

選擇管理模式後,請評估可用的部署選項。

全代管選項

如果是全代管部署作業,您可以使用 Memorystore 或 Redis Enterprise Cloud。

Memorystore

如果符合下列任一條件,請選擇 Memorystore:

  • 您希望透過Google Cloud整合受管理軟體的支援服務。
  • 您偏好針對與 Google Cloud結構 (例如 Identity and Access Management、API、機構政策、配額或 Cloud Asset Inventory) 整合的部分進行最佳化。
  • 您需要 Memorystore 中提供的特定功能 (例如縮減回歸)。

如要進一步瞭解 Memorystore,請參閱 Memorystore 產品說明文件

部署選項
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:

  • 應用程式需要其獨特功能,例如自動重新分割區以擴充應用程式、Flash 上的 Redis 或 Kubernetes 適用的 Redis Enterprise Operator。
  • 您的營運團隊沒有必要的技能,無法在內部處理複雜的 Redis 問題,除非有合格的第三方支援。
  • 您偏好由 Redis Ltd. 提供的企業支援服務,且貴機構可以自行管理相關授權費用。

如要進一步瞭解 Redis Enterprise 軟體,請參閱 Redis Enterprise 軟體說明文件

部署選項
採購和結帳選項
Redis 開放原始碼軟體

如果符合下列任一條件,請選擇自行管理的 Redis 開放原始碼軟體:

  • 您需要或偏好完全自訂功能,而無法透過其他方式實現。
  • 貴機構的營運團隊具備必要技能,可在內部處理複雜的 Redis 問題,無須第三方支援。
  • 您希望避免支付授權費用。
  • 您擁有豐富的內部 Redis 和 Linux 核心調整資源,或是您的用途不需要調整。

部署自行管理的 Redis 開放原始碼軟體時,請根據您選擇的平台策略選擇部署目標。Redis 開放原始碼軟體可部署在 Compute Engine、Google Kubernetes Engine 或 OpenShift 上。GKE Autopilot 可減少部署和管理作業的負擔,但在某些方面可能較為受限,例如較難擴充。

如要進一步瞭解 Redis 開放原始碼軟體,請參閱 Redis.io

功能比較

下表摘要列出所有部署選項的主要差異:

部署作業特性 部署選項
Memorystore for RedisRedis Cluster Redis Enterprise Cloud Redis Enterprise 軟體 Redis 開放原始碼軟體
管理員: 由 Google 全權管理 由 Redis Ltd. 全權管理 自行管理 自行管理
支援機構 Google Redis Ltd. Redis Ltd. 自負盈虧
帳單處理機構 Google Redis Ltd. 或 Google

基礎架構費用由 Google 收取。

Redis Ltd. 授權和支援服務的費用由 Redis Ltd. 或 Google 收取。

Google
費用元素

已包含所有費用。

包括基礎架構、授權、支援和管理成本。

詳情請參閱 Memorystore 定價

已包含所有費用。

包括基礎架構、授權、支援和管理成本。

詳情請參閱 Redis Enterprise Cloud 定價

軟體授權和支援費用已包含在內。基礎架構使用量會由 Google Cloud另外計費。

管理成本 (包括部署、調整、人員和停機時間) 由客戶吸收。

詳情請參閱 Redis Enterprise 軟體定價

無需支付服務費或授權費。基礎架構使用量由 Google Cloud收費。

管理成本 (包括部署、調整、人員和停機時間) 由客戶吸收。

服務水準協議
  • Redis 標準:99.9% 的運作時間;每月停機時間小於或等於 43.2 分鐘
  • Redis Cluster:多 AZ HA 可提供 99.99% 的正常運作時間,停機時間小於或等於每月 4.38 分鐘。

詳情請參閱 Memorystore 服務水準協議

  • Redis 標準:99.9% 的運作時間;每月停機時間小於或等於 43.2 分鐘
  • Redis Cluster:多 AZ HA 可提供 99.99% 的正常運作時間,停機時間少於或等於每月 4.38 分鐘。
  • 多區域主動-主動 HA:99.999% 的正常運作時間;每月停機時間少於或等於 26.3 分鐘。

詳情請參閱 Redis Cloud 服務水準協議

不適用。

您必須負責維持服務正常運作。

不適用。

您必須負責維持服務正常運作。

免費方案 30 天免費試用 不適用
資料分層 自動調整級別 自動調整級別
多雲端 手動 可行,但需要大量工作
多區域主動-主動 手動 可行,但需要大量工作
模組
法規遵循 內建支援不同法規制度。詳情請參閱「法規遵循服務」。 內建支援不同法規制度。詳情請參閱 Redis Trust Center 內建支援不同法規制度。詳情請參閱 Redis Trust Center 必須手動管理法規遵循。詳情請參閱「法規遵循服務」。
調度叢集寫入作業 縮放進出 縮放進出 向外擴充。縮放需要手動操作。 自行管理,需要手動操作。
自動重新平衡 自行管理,需要手動操作 自行管理,需要手動操作
新增高可用性 無縫接軌,無需重新部署 無縫接軌,無需重新部署 不需要重新部署,但需要手動操作 需要大量手動作業 - 視原始架構而定,可能需要重新部署
新增唯讀備用資源 無縫接軌,無需重新部署 無縫接軌,無需重新部署 需要大量手動作業 - 視原始架構而定,可能需要重新部署 自行管理,需要手動操作
當寫入總處理量超出時,改用資料區塊 Redis 叢集 需要重新部署,但我們會提供工具,讓您輕鬆完成這項工作。用戶端需要重構,才能支援 Redis Cluster API。 無縫接軌,無需重新部署 無縫接軌,無需重新部署 自行管理,需要手動操作