叢集和節點規格

本頁面說明 Memorystore for Redis Cluster 執行個體的叢集和節點規格。如需建立執行個體的說明,請參閱「建立執行個體」。

選擇節點類型

叢集中的所有分片都會使用您選擇的相同節點類型。叢集的最佳節點類型取決於價格、效能和鍵空間容量需求。

redis-shared-core-nano 節點類型適用於小型工作負載。這類節點的效能不穩定,且沒有服務水準協議,因此不適合用於實際工作負載。

redis-standard-small 節點類型可讓您佈建小型叢集,並以較小的增量擴充叢集,成本可能比其他節點類型更低。redis-standard-small 的優點是可將鍵空間分配到更多節點,並提高 vCPU 總數。只要較小節點的總鍵空間容量足以滿足資料需求,相較於 redis-highmem-medium,這項功能可提供更優異的價格效能。

只有在需要比 redis-highmem-medium 節點類型提供的叢集容量更多時,才建議選擇 redis-highmem-xlarge 節點類型。雖然 redis-highmem-xlarge 節點類型的大小是 redis-highmem-medium 類型的四倍,但效能並非四倍,因為當 vCPU 新增至越來越大的節點 (向上擴充) 時,Redis 效能不會線性擴充。如要提升價格效能,請改為在叢集中新增節點,藉此擴充規模。

節點類型規格

節點容量和特性取決於您選擇的四種可用節點類型:

鍵空間容量和預留的額外負荷

節點類型 預設可寫入的鍵空間容量 節點總容量
redis-shared-core-nano 1.12 GB 1.4 GB
redis-standard-small 5.2 GB 6.5 GB
redis-highmem-medium 10.4 GB 13 GB
redis-highmem-xlarge 46.4 GB 58 GB

Memorystore 會自動預留部分執行個體容量,避免發生記憶體不足 (OOM) 錯誤。確保讀取及寫入金鑰的體驗順暢無礙。記憶體限制和儲存空間詳細資料如下:

  • 自訂儲存空間:雖然建議使用預設設定,但您也可以使用 maxmemory 設定調整預留儲存空間量。如要瞭解 maxmemory,請參閱「支援的執行個體設定」。

  • 可獲得多少儲存空間?請參閱上表中的「預設可寫入的鍵空間容量」欄。這會顯示預設可用的金鑰儲存空間量。

  • 盡量擴充儲存空間:如要盡可能擴充儲存空間,請將 maxmemory 設定為 100%,「節點總容量」欄會顯示儲存空間上限。不過,建議不要選擇高於預設設定的 maxmemory 值。

  • redis-shared-core-nano 節點類型有 1.12 GB 的硬性限制,且無法透過 maxmemory 設定變更。

節點特徵

節點類型 vCPU 數量 提供的服務水準協議 用戶端數量上限 用戶端記憶體上限 (maxmemory-clients 設定)
redis-shared-core-nano 0.5 5,000 12%
redis-standard-small 2 16,000 (預設)。最大值為 32,000 7%
redis-highmem-medium 2 32,000 (預設)。最大值為 64,000 7%
redis-highmem-xlarge 8 64,000 4%

為叢集選取的虛擬 CPU (vCPU) 越多,效能就越好。如果叢集執行耗用大量資源的工作負載,請選取 vCPU 較高的節點類型 (例如 redis-highmem-xlarge)。如果叢集執行的工作負載較不耗用資源,請選取 vCPU 較低的節點類型 (例如 redis-highmem-medium)。

調度執行個體資源

建立 Memorystore for Redis Cluster 執行個體時,您會選擇執行個體的節點類型,並指定執行個體的分片數量。建立執行個體後,如果執行個體的容量需求有所變更,您可能需要透過下列方式調整執行個體大小:

  • 變更執行個體的 shard 數量。這就是水平資源調度。 如要水平擴充執行個體,請執行下列其中一項動作:
    • 在執行個體中新增分片。這會擴大執行個體。
    • 從執行個體中移除分片。這是指擴大執行個體。
  • 變更執行個體的節點類型。這就是垂直資源調度。如要垂直縮放執行個體,請將執行個體的節點類型變更為下列其中一種節點類型:
    • 改用較大的節點類型。這就是擴大執行個體。
    • 改用較小的節點類型。這會縮減執行個體。

叢集規格

這個部分會根據叢集形狀、節點類型和副本數量,顯示叢集容量下限和上限。

可寫入容量下限

可寫入容量是指可寫入金鑰的儲存空間量。這等於一個執行個體節點的大小。因此,視節點類型而定,可寫入容量下限為 1.4 GB、6.5 GB、13 GB 或 58 GB。可寫入容量下限不會受到您選擇的副本數量影響。

可寫入容量上限

節點類型和大小 叢集形狀為 250 個主要節點,每個節點 0 個副本時的容量上限 叢集形狀為 125 個主要節點,每個節點有 1 個副本時的容量上限 叢集形狀為 83 個主要節點,每個節點有 2 個副本,因此容量上限為 249 個節點
redis-shared-core-nano - 1.4 GB 350 GB 175 GB 116.2 GB
redis-standard-small - 6.5 GB 1,625 GB 812.5 GB 539.5 GB
redis-highmem-medium - 13 GB 3,250 GB 1,625 GB 1,079 GB
redis-highmem-xlarge - 58 GB 14,500 GB 7,250 GB 4,814 GB

成效

us-central1 地區使用 OSS memtier 基準化工具,每個 2 個 vCPU 節點 (redis-standard-smallredis-highmem-medium) 每秒可產生 120,000 到 130,000 個作業,延遲時間為微秒,資料大小為 1 KiB。

建議您使用實際工作負載或類似於正式流量的合成工作負載,自行執行基準化作業。此外,建議您為叢集預留緩衝空間 (或「餘裕」),以因應工作負載尖峰或非預期流量。如需更多指引,請參閱 Memorystore for Redis Cluster 的最佳做法

叢集端點

本節說明每個執行個體擁有的兩個端點。

探索端點

每個執行個體都有探索端點,供用戶端連線。這是 IP 位址和通訊埠號碼的組合。如需如何找出叢集探索端點的操作說明,請參閱「查看叢集的探索端點」。

您的用戶端也會使用此功能探索節點。用戶端會使用探索端點擷取執行個體的叢集拓撲,以啟動 OSS Redis 叢集用戶端,並在穩定狀態下保持更新。產生的叢集拓撲會提供 Redis 節點端點 (IP 和連接埠組合),供 Redis 叢集用戶端在記憶體中快取。接著,用戶端會自動處理更新和重新導向,不需進行其他應用程式變更。如要瞭解用戶端探索行為和最佳做法,請參閱「用戶端探索」。

探索端點由多個區域的多個 Redis 節點支援,可提供叢集拓撲,因此具有高可用性。即使後端節點發生故障或更新,透過端點提供的拓撲仍可正常運作。

探索端點的行為如下:

  1. 叢集執行個體的探索端點在叢集執行個體的生命週期內不會變更,即使在維護期間,或您採取任何其他動作 (例如擴大或縮小規模,或變更副本計數) 也是如此。

  2. 隨著時間推移,Redis 節點端點可能會變更,也可能會在新增及移除節點時回收。理想情況下,您應使用 Redis 叢集用戶端,透過拓撲重新整理和重新導向自動處理這些變更。如需 Redis 叢集用戶端範例,請參閱「用戶端程式庫程式碼範例」。應用程式不應有任何依附元件或假設,認為特定叢集的節點端點不會變更。

資料端點

每個執行個體也有 Private Service Connect 資料端點,Memorystore for Redis Cluster 會使用這個端點建立用戶端連線。您不應直接連線至這個端點,但 Memorystore for Redis Cluster 會使用這個端點,將用戶端連線至叢集節點。