一、redis集群方案
Redis集群是 Redis 提供的分布式數據庫方案,集群通過分片(sharding)來實現數據共享,并提供復制和故障轉移。redis集群提供分布式數據庫方案,前面我們將的主從復制和哨兵模式可以知道,只會有一個主服務器(master)。
Redis 集群是 Redis 提供的分布式數據庫方案,集群通過分片(sharding)來實現數據共享,并提供復制和故障轉移。redis集群提供分布式數據庫方案,前面我們將的主從復制和哨兵模式可以知道,只會有一個主服務器(master)。
Redis集群的主從復制,其實和單機的主從復制是一樣的。前面 Redis集群結構圖可以看到。單個節點中有一個 master 和多個slave 。這些 slave 會自動的同步 master中的數據。注意的是,這些 salve 只會同步 所屬的 master 中的數據,集群中其他的 master 數據是不會同步的。
同樣的,當個節點中可以配置多個哨兵,來監控這個節點中的master是否下線了,如果下線了就會將這個節點的slave選擇一個升級成 master并繼承之前 master的分片,繼續工作。
但是其實啊,在集群模式中,并沒有配置哨兵,我們也能實現故障的自動轉移。
延伸閱讀:
二、Redis哨兵模式的作用
監控所有服務器是否正常運行:通過發送命令返回監控服務器的運行狀態,處理監控主服務器、從服務器外,哨兵之間也相互監控。
故障切換:當哨兵監測到master宕機,會自動將slave切換成master,然后通過發布訂閱模式通知其他的從服務器,修改配置文件,讓它們切換master。同時那臺有問題的舊主也會變為新主的從,也就是說當舊的主即使恢復時,并不會恢復原來的主身份,而是作為新主的一個從。