DCS分散式快取服務例項型別介紹

禿頭也愛科技發表於2023-01-18

華為雲DCS分散式快取服務,作為一種支援Key-Value等多種資料結構的儲存系統,可用於快取、事件釋出或訂閱、高速佇列等典型應用場景。那麼DCS服務提供哪些例項型別呢?

DCS 例項型別

Redis 單機例項

單機:適用於應用對可靠性要求不高、 僅需要快取臨時資料的業務場景。單機例項支援讀寫高併發,但不做持久化,例項重啟後原有快取資料不會載入。

特點

1.      系統資源消耗低,支援高QPS

2.      程式監控,故障後自動恢復(30秒內會重啟一個新的程式)

3.      即開即用,資料不做持久化

4.      低成本,適用於開發測試

單機例項示意圖

注:VPC內訪問,客戶端需要與單機例項處於相同VPC,並且配置安全組訪問規則

DCS Redis 支援的單機例項有:Redis 3.0(已下線)、Redis 4.0和Redis 5.0

Redis 主備例項

主備:包含一個主節點,一個或多個備節點,主備節點的資料透過實時複製保持一致,當主節點故障後,備節點自動升級為主節點。同時使用者可透過讀寫分離技術,在主節點上寫,從備節點讀,從而提升快取的整體讀寫效能。
DCS的主備例項在單機例項基礎上, 增強服務高可用以及資料高可靠性

特點

1.      持久化,確保資料高可靠(主備節點都預設開啟資料持久化)

2.      資料同步(透過增量資料同步的方式)

3.      故障後自動切換主節點,服務高可用(備節點在30秒內自動完成主備切換)

4.      多種容災策略(支援將主備例項部署在不同的AZ內)

5.      Redis 4.0 和Redis 5.0主備例項支援客戶端讀寫分離(分別提供可讀寫的連線地址(主節點)和只讀地址(備節點))

Redis 3.0 主備例項架構設計示意圖(已下線)

注:VPC內訪問,客戶端需要與主備例項處於相同VPC,並且配置安全組訪問規則

Redis 4.0/5.0/6.0 基礎版主備例項架構設計示意圖

注:Redis 4.0/5.0/6.0基礎版主備例項使用哨兵模式(Sentinel)進行管理,Sentinel會一直監控主備節點是否正常執行,當主節點出現故障時,進行主備倒換。Sentinel對使用者不可見。

Redis 6.0 企業版主備例項架構設計示意圖

注:VPC內訪問,客戶端需要與Redis 6.0企業版主備例項處於相同VPC,並且配置安全組訪問規則

DCS Redis 支援的主備例項有:Redis 3.0(已下線)、Redis 4.0、Redis 5.0和Redis 6.0。且不支援Redis 主備升級,比如從4.0升級為 5.0主備例項。

1.1.1   3 Redis Proxy 叢集例項

Proxy 叢集:在Cluster叢集的基礎上,增加掛載Proxy節點和ELB節點,透過ELB節點實現負載均衡,將不同請求分發到Proxy節點, 實現客戶端高併發請求。每個Cluster叢集分片是一個雙副本的主備例項,當主節點故障後,同一分片中的備節點會升級為主節點來繼續提供服務。
Redis 3.0/4.0/5.0 Proxy叢集例項不支援讀寫分離。

Redis 3.0 Proxy 叢集因為已下線,不再介紹。

Redis 4.0/5.0 Proxy 叢集特點

1.              基於LVS+Proxy的高可用叢集版本

2.              在建立例項時,支援自定義分片大小(每個分片記憶體=例項規格/分片數)

3.              ELB 彈性負載均衡伺服器,採用叢集高可用方式,支援多可用區部署

Redis 4.0/5.0 Proxy 叢集例項示意圖

注:Redis 4.0/5.0 Proxy叢集例項,當前僅部分割槽域支援,請以控制檯實際上線區域為準。

DCS Redis 支援的Proxy叢集例項有:Redis 3.0(已下線)、Redis 4.0、Redis 5.0。

Redis Cluster 叢集例項

Cluster 叢集:透過 分片化分割槽來增加快取的容量和併發連線數,每個分片是一個主節點和0到多個備節點,分片本身對外不可見。分片中主節點故障後,同一分片中備節點會升級為主節點來繼續提供服務。使用者可透過讀寫分離技術,在主節點上寫,從備節點讀,從而提升快取的整體讀寫能力。
Redis 4.0/5.0 Cluster叢集例項支援從客戶端實現讀寫分離。

特點

1.              Cluster 版Redis叢集相容開源Redis的Cluster,基於smart client和無中心的設計方案,對伺服器進行分片

Cluster 叢集無中心架構圖

Redis Cluster 的任意節點都可以接收請求,但節點會將請求傳送到正確的節點上執行,同時,每一個節點也是主從結構,預設包含一個主節點和一個從節點,由Redis Cluster根據選舉演算法決定節點主從屬性。

Cluster 叢集資料預分片

Redis Cluster 會預先分配16384個slot,每個Redis的server儲存所有slot與redis server的對映關係。key儲存在哪個slot中,由Crc16(key) mod 16384的值決定。

DCS Redis 支援的Cluster叢集例項有:Redis 4.0、Redis 5.0。

讀寫分離例項

讀寫分離:在主備例項的基礎上,增加掛載Proxy節點和ELB節點,透過ELB節點實現負載均衡,將不同請求分發到Proxy節點,Proxy節點識別使用者讀寫請求,將請求傳送到主節點或備節點,從而實現讀寫分離。


讀寫分離 主要適用於讀高併發、寫請求較少的業務場景,解決高併發的效能問題,節約運維成本。

特點

1.              服務端讀寫分離,預設為從服務端側實現的讀寫分離

2.              透過Proxy節點識別使用者讀寫請求,如果是寫請求,則轉發給主節點,如果是讀請求,則轉發給備節點,不需要使用者在客戶端做任何配置

讀寫分離例項示意圖

讀寫分離例項,僅在部分Region支援,具體請以控制檯顯示為準。

Sentinel 叢集用來監控主備節點狀態,當主節點出現故障或異常時,進行主備倒換,保證服務不中斷。
讀寫分離例項,後端是一個主備例項,包含了主和備兩個節點。預設開啟資料持久化功能,同時保持節點間資料同步。

DCS Redis 支援的讀寫分離例項有:Redis 4.0、Redis 5.0。

Memcached 單機例項 和 Memcached主備例項(已停售)

單機:適用於應用對可靠性要求不高、僅需要快取臨時資料的業務場景。單機例項支援讀寫高併發,但不做持久化,例項重啟後原有快取資料不會載入。

主備:包含一個主節點和一個備節點,主備節點的資料透過實時複製保持一致,備節點對使用者不可見且不能直接讀寫資料,當主節點故障後,備節點自動升級為主節點。

DCS Memcached 已停售,建議使用Redis例項。

DCS 的Memcached單機例項示意圖

DCS 的Memcached主備例項示意圖

 


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70022909/viewspace-2932720/,如需轉載,請註明出處,否則將追究法律責任。

相關文章