Google Cloud 上 Redis 的部署選項

本文提供 Redis 部署作業和遷移至 Google Cloud的總覽,包括在不同服務上部署 Redis 的選項和取捨考量,具體取決於您的需求。

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

在 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 部署選項決策樹。
圖 1:決策因素和部署選項。

選擇 Redis 管理模式

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

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

  • 自行管理部署作業。您必須負責部署及管理作業。如果符合下列任一條件,請選擇這個模型:

    • 您已具備現有的作業規模經濟,因此在貴機構中管理及運作 Redis 在經濟上是合理的。

    • 您偏好只依附於 IaaS。

    • 您需要進階最佳化功能。

評估部署選項

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

全代管選項

如要使用全代管部署作業,可以選擇 Memorystore 或 Redis Enterprise Cloud。

Memorystore

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

  • 您偏好透過Google Cloud整合受管理軟體的支援服務。
  • 您偏好整合身分與存取權管理、API、機構政策、配額或 Cloud Asset Inventory 等建構。 Google Cloud
  • 您需要 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:

  • 您的應用程式需要獨特的功能,例如自動重新分片以進行擴充、快閃儲存裝置上的 Redis,或是 Kubernetes 適用的 Redis Enterprise Operator。
  • 您的營運團隊不具備必要技能,無法在沒有合格第三方支援的情況下,在內部處理複雜的 Redis 問題。
  • 您偏好 Redis Ltd. 提供的企業支援服務,且貴機構可負擔相關授權費用。

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

採購和計費方案
  • 授權支援費用由 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 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 Software 定價

無須支付服務費或授權費。基礎架構使用情形 (由 Google Cloud收費)。

管理費用 (包括部署、調整、人員和停機) 由客戶承擔。

服務水準協議
  • Redis 標準級:正常運作時間達 99.9%,每月停機時間少於或等於 43.2 分鐘
  • Redis Cluster:運作時間達 99.99%,且具備多可用區高可用性;每月停機時間少於或等於 4.38 分鐘。

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

  • Redis 標準級:正常運作時間達 99.9%,每月停機時間少於或等於 43.2 分鐘
  • Redis Cluster:運作時間達 99.99%,且具備多可用區高可用性;每月停機時間少於或等於 4.38 分鐘。
  • 多區域主動-主動式高可用性:正常運作時間為 99.999%,每月停機時間小於或等於 26.3 分鐘。

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

不適用。

您必須負責正常運作時間。

不適用。

您必須負責正常運作時間。

免費方案 免費試用 30 天 不適用
資料分層 自動調整級別 自動調整級別
多雲端 手動 可行,但需要投入大量心力
多區域主動-主動 手動 可行,但需要投入大量心力
模組
法規遵循 內建支援各種法規遵循制度。詳情請參閱「法規遵循服務」。 內建支援各種法規遵循制度。詳情請參閱 Redis 信任中心 內建支援各種法規遵循制度。詳情請參閱 Redis 信任中心 您必須手動管理法規遵循情形。詳情請參閱「法規遵循服務」。
調度叢集寫入作業 資源使用率 資源使用率 向外擴充。擴充需要手動操作。 自行管理,需要手動操作。
自動重新平衡 自行管理,需要手動操作 自行管理,需要手動操作
新增高可用性 無縫接軌,不需重新部署 無縫接軌,不需重新部署 不必重新部署,但需要手動操作 需要大量手動作業,可能需要重新部署,視原始架構而定
新增唯讀備用資源 無縫接軌,不需重新部署 無縫接軌,不需重新部署 需要大量手動作業,可能需要重新部署,視原始架構而定 自行管理,需要手動操作
寫入總處理量超出負荷時,改用資料分片 Redis 叢集 需要重新部署,但我們提供工具,可減輕工作負擔。用戶端需要重構,才能支援 Redis 叢集 API。 無縫接軌,不需重新部署 無縫接軌,不需重新部署 自行管理,需要手動操作