本文提供 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 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. 採購 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整合受管理軟體的支援服務。
- 您偏好整合身分與存取權管理、API、機構政策、配額或 Cloud Asset Inventory 等建構。 Google Cloud
- 您需要 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。 | 無縫接軌,不需重新部署 | 無縫接軌,不需重新部署 | 自行管理,需要手動操作 |