redis實戰--redis cluster的架構搭建
部署步驟
因為redis cluster的叢集,至少需要3個master去組成一個高可用,高併發的分散式叢集,然後每個master也建議都至少掛載一個slave節點。
所以對於測試環境, 我們可以基於3臺虛擬機器,啟動6個redis的例項進行模擬部署測試。
修改配置檔案:
在每一臺機器的配置檔案中,修改以下的引數:
1.啟動redis cluster的功能
cluster-enabled yes
2.cluster-config-file /etc/redis-cluster/node-port.cof:存放叢集狀態的,包括叢集的機器資訊,節點的上下線,故障轉移等等。
3.cluster-node-timeout 6000:存活超時時長,超過一定時間,就認為節點宕機,如果是master宕機的話就會觸發主備切換,slave宕機就不會提供服務。
啟動在3臺機器的6個redis例項
1.建立存放節點cluster的狀態資訊的目錄
mkdir -p /etc/redis-clister
2.建立redis cluster的日誌存放路徑
mkdir -p /var/log/redis
3.建立redis的配置檔案存放目錄
mkdir -p /var/redis/port
建立叢集
由於叢集【redis-trib】是ruby寫的,所以需要安裝ruby.
ruby安裝步驟:
yum install -y ruby
yum install -y rubygems
gem install redis
cp /usr/local/redis- 3.2.8/src/redis-trib.rb /usr/local/bin
建立叢集指令碼:
redis-trib.rb create –replicas 1 ip1:port1 ip2:port2……
–replicas 1:每個master有幾個slave,這裡1表示就只有一個slave;
成功的話就會出現整個叢集計劃(master與slave的關係,每個master的slot範圍);需要我們輸入(yes)去確認整份計劃。
優勢:
1.每個master都可以配置至少一個slave來實現讀寫分離。
2.如果master不可用,那麼他下面的slave自動就會被切換過去,成為新的master,這樣就實現高可用;另外多master可以支援橫向擴容,這樣就很好的支援我們的海量資料。