本文將概略說明 Redis 部署作業和遷移至 Google Cloud的相關資訊,包括根據您的需求,在不同服務上部署 Redis 的選項和取捨。
Redis 是記憶體內資料結構儲存庫,可用於資料庫、快取、訊息代理程式等。 Google Cloud 完全支援 Redis,包括以下項目:
由 Memorystore 和 Redis Ltd. 提供的全代管選項。
使用下列產品的自行管理選項:
在 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 管理模式
您可以選擇下列其中一種管理模式:
全代管部署。您可將部署和管理作業卸載至服務供應商。如要專注於建構應用程式並卸載管理工作,請選擇這個模式。
自行管理部署作業。您需要負責部署和管理作業。符合下列任一條件時,請選擇這個模型:
您已具備營運規模經濟,因此在貴機構中管理及運作 Redis 是合理的經濟選擇。
您有偏好採用僅限 IaaS 的依附元件。
需要進階最佳化功能。
評估部署選項
選擇管理模式後,請評估可用的部署選項。
全代管選項
如果是全代管部署作業,您可以使用 Memorystore 或 Redis Enterprise Cloud。
Memorystore
如果符合下列任一條件,請選擇 Memorystore:
- 您希望透過Google Cloud整合受管理軟體的支援服務。
- 您偏好針對與 Google Cloud結構 (例如 Identity and Access Management、API、機構政策、配額或 Cloud Asset Inventory) 整合的部分進行最佳化。
- 您需要 Memorystore 中提供的特定功能 (例如縮減回歸)。
如要進一步瞭解 Memorystore,請參閱 Memorystore 產品說明文件。
部署選項
- Memorystore for Redis (獨立版、HA)
- Memorystore for Redis Cluster (叢集、HA)
Redis Enterprise Cloud
如果符合下列任一條件,請選擇 Redis Enterprise Cloud:
- 您需要使用 Redis Enterprise Cloud 才能提供的特定功能 (例如,跨區域的活動-活動多主鍵寫入功能,以及 99.999% 服務水準協議的 RedisSearch 用途)。
- 您需要為不支援 Redis Cluster API 的應用程式進行叢集縮放。
如要進一步瞭解 Redis Enterprise Cloud,請參閱 Redis Cloud 說明文件。
採購和結帳選項
- 在 Google Cloud 上使用 Redis Enterprise Cloud, 由 Redis Ltd.收費
- Google Cloud Marketplace 上的 Redis Enterprise Cloud,由 Google 收費
自行管理選項
如果是自行管理的部署作業,您可以選擇 Redis Enterprise 或 Redis 開放原始碼軟體。
Redis Enterprise
如果符合下列任一條件,請選擇自行管理的 Redis Enterprise:
- 應用程式需要其獨特功能,例如自動重新分割區以擴充應用程式、Flash 上的 Redis 或 Kubernetes 適用的 Redis Enterprise Operator。
- 您的營運團隊沒有必要的技能,無法在內部處理複雜的 Redis 問題,除非有合格的第三方支援。
- 您偏好由 Redis Ltd. 提供的企業支援服務,且貴機構可以自行管理相關授權費用。
如要進一步瞭解 Redis Enterprise 軟體,請參閱 Redis Enterprise 軟體說明文件。
部署選項
- 在 GKE 或 OpenShift 上自行管理 Redis Enterprise 軟體,並視需要使用 Kubernetes 的 Redis Enterprise Operator
- 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 軟體定價。 |
無需支付服務費或授權費。基礎架構使用量由 Google Cloud收費。 管理成本 (包括部署、調整、人員和停機時間) 由客戶吸收。 |
服務水準協議 |
詳情請參閱 Memorystore 服務水準協議。 |
詳情請參閱 Redis Cloud 服務水準協議。 |
不適用。 您必須負責維持服務正常運作。 |
不適用。 您必須負責維持服務正常運作。 |
免費方案 | 否 | 是 | 30 天免費試用 | 不適用 |
資料分層 | 否 | 自動調整級別 | 自動調整級別 | 否 |
多雲端 | 否 | 是 | 手動 | 可行,但需要大量工作 |
多區域主動-主動 | 否 | 是 | 手動 | 可行,但需要大量工作 |
模組 |
|
|
||
法規遵循 | 內建支援不同法規制度。詳情請參閱「法規遵循服務」。 | 內建支援不同法規制度。詳情請參閱 Redis Trust Center。 | 內建支援不同法規制度。詳情請參閱 Redis Trust Center。 | 必須手動管理法規遵循。詳情請參閱「法規遵循服務」。 |
調度叢集寫入作業 | 縮放進出 | 縮放進出 | 向外擴充。縮放需要手動操作。 | 自行管理,需要手動操作。 |
自動重新平衡 | 是 | 是 | 自行管理,需要手動操作 | 自行管理,需要手動操作 |
新增高可用性 | 無縫接軌,無需重新部署 | 無縫接軌,無需重新部署 | 不需要重新部署,但需要手動操作 | 需要大量手動作業 - 視原始架構而定,可能需要重新部署 |
新增唯讀備用資源 | 無縫接軌,無需重新部署 | 無縫接軌,無需重新部署 | 需要大量手動作業 - 視原始架構而定,可能需要重新部署 | 自行管理,需要手動操作 |
當寫入總處理量超出時,改用資料區塊 Redis 叢集 | 需要重新部署,但我們會提供工具,讓您輕鬆完成這項工作。用戶端需要重構,才能支援 Redis Cluster API。 | 無縫接軌,無需重新部署 | 無縫接軌,無需重新部署 | 自行管理,需要手動操作 |