Redis高可用——副本機制
阿新 • • 發佈:2020-08-30
[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