1. 程式人生 > >Redis高可用——副本機制

Redis高可用——副本機制

[TOC] 為實現`Redis`服務的高可用,`Redis`官方為我們提供了副本機制(或稱主從複製)和哨兵機制。副本機制使得當`Master`伺服器宕機後,我們可以將其中一臺`Slave`切換為新的`Master`伺服器。哨兵機制則實現了自動發現`Master`伺服器宕機,並自動進行主從切換。本文主要介紹副本機制(`Replication`),包括副本機制的概念、用法及其底層實現。下一篇文章我們再介紹哨兵機制。 從技術實現角度來看,`Redis`通過主從複製的方式來實現副本機制,所以下面介紹技術實現時,我們採用“主從複製”這個詞。 #### 概念 高可用的作用是為了解決伺服器宕機帶來的服務不可用問題。對於`Redis`快取伺服器而言,解決方法就是在多臺計算機上儲存快取資料,即:副本機制。當客戶端往快取伺服器(通常稱為`Master`伺服器)寫資料時,其他快取伺服器(通常稱為`Slave`伺服器)自動同步,如下圖所示: ![](https://img2020.cnblogs.com/blog/339551/202008/339551-20200830193815624-1274453268.jpg) 上圖是最簡單的主從叢集結構,只有一個`Master`節點和一個Slave節點。複雜一點的話,我們也可以配置多個`Slave`節點。 #### 配置 `Redis`的主從複製叢集配置非常簡單,`Master`節點只需要改兩個地方的配置,`Slave`節點只需要改一個配置項即可。這裡,我們以上圖的最簡單的主從結構為例,具體修改如下: - `Master`節點的配置檔案改動 修改之前: ```shell bind 127.0.0.1 protected-mode yes ``` 修改之後: ```shell # bind 127.0.0.1 protected-mode no ``` 即:去掉保護模式,並且將繫結的IP地址註釋掉。 - Slave節點的配置檔案改動 新增一行: ```shell # re