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

選擇 Redis 管理模式

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

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

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

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

    • 您策略性偏好僅限 IaaS 的依附元件。

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

評估部署選項

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

全代管選項

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

Memorystore

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

  • 您偏好透過Google Cloud整合受管理軟體的支援服務。
  • 您偏好整合 Google Cloud身分與存取權管理、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:

  • 您的應用程式需要自動重新分片以擴充資源、快閃儲存裝置上的 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 Redis 和 Redis 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。 無縫接軌,不需重新部署 無縫接軌,不需重新部署 自行管理,需要手動操作