本頁面說明 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-small
和 redis-highmem-medium
) 每秒可產生 120,000 到 130,000 個作業,延遲時間為微秒,資料大小為 1 KiB。
建議您使用實際工作負載或類似於正式流量的合成工作負載,自行執行基準化作業。此外,建議您為叢集預留緩衝空間 (或「餘裕」),以因應工作負載尖峰或非預期流量。如需更多指引,請參閱 Memorystore for Redis Cluster 的最佳做法。
叢集端點
本節說明每個執行個體擁有的兩個端點。
探索端點
每個執行個體都有探索端點,供用戶端連線。這是 IP 位址和通訊埠號碼的組合。如需如何找出叢集探索端點的操作說明,請參閱「查看叢集的探索端點」。
您的用戶端也會使用此功能探索節點。用戶端會使用探索端點擷取執行個體的叢集拓撲,以啟動 OSS Redis 叢集用戶端,並在穩定狀態下保持更新。產生的叢集拓撲會提供 Redis 節點端點 (IP 和連接埠組合),供 Redis 叢集用戶端在記憶體中快取。接著,用戶端會自動處理更新和重新導向,不需進行其他應用程式變更。如要瞭解用戶端探索行為和最佳做法,請參閱「用戶端探索」。
探索端點由多個區域的多個 Redis 節點支援,可提供叢集拓撲,因此具有高可用性。即使後端節點發生故障或更新,透過端點提供的拓撲仍可正常運作。
探索端點的行為如下:
叢集執行個體的探索端點在叢集執行個體的生命週期內不會變更,即使在維護期間,或您採取任何其他動作 (例如擴大或縮小規模,或變更副本計數) 也是如此。
隨著時間推移,Redis 節點端點可能會變更,也可能會在新增及移除節點時回收。理想情況下,您應使用 Redis 叢集用戶端,透過拓撲重新整理和重新導向自動處理這些變更。如需 Redis 叢集用戶端範例,請參閱「用戶端程式庫程式碼範例」。應用程式不應有任何依附元件或假設,認為特定叢集的節點端點不會變更。
資料端點
每個執行個體也有 Private Service Connect 資料端點,Memorystore for Redis Cluster 會使用這個端點建立用戶端連線。您不應直接連線至這個端點,但 Memorystore for Redis Cluster 會使用這個端點,將用戶端連線至叢集節點。