Redis高可用解決方案

1、Redis單副本

緩存使用時無需備用節點,同一時刻只有一個實例對外提供服務。不保證數據的可靠性。

2、Redis多副本(主從)

對比單副本最大特點是主從實例間數據實時同步,並且提供數據持久性和備份策略。根據公司配置,可以實現同時對外提供服務和讀寫分離策略。

Redis高可用解決方案

Redis高可用解決方案

優點:一主多從,以非阻塞方式完成數據同步。分散服務壓力,實現讀寫分離。從服務器之間可互相同步請求,減少主服務壓力

缺點:不具備容錯和恢復能力,主服務存在單點風險。較難支持在線擴容

3、Redis Sentinel(哨兵)

部署架構主要包括Redis Sentinel(節點滿足2n+1,n>=1)集群和Redis數據集群,可以實現故障發現、故障自動轉移、配置中心和客戶端通知。

Redis高可用解決方案

Redis高可用解決方案

優點:通過心跳機制和投票裁決完成主從主動切換

缺點:難以在線擴容

4、Redis Cluster

最小配置6個節點以上(3主3從),無中心架構,採用虛擬槽分區,所有的鍵根據哈希函數映射到0~16383個整數槽內,每個節點負責維護一部分槽以及槽所映射的鍵值數據。

Redis高可用解決方案

Redis高可用解決方案

優點:去中心化,所有物理節點映射在(0~16384)slot上,Redis Cluster負責維護節點、桶、值之間關係。節點可動態增刪。使用端連接任何一個可用節點即可。

缺點:批量操作(mget、mset)支持有限。事務支持有限


分享到:


相關文章: