緩存架構之18:在項目中重新搭建一套讀寫分離+高可用+多master的redis cluster集群

redis cluster最最基礎的一些知識redis cluster: 自動,master+slave復制和讀寫分離,master+slave高可用和主備切換,支持多個master的hash slot支持數據分布式存儲停止之前所有的實例,包括redis主從和哨兵集群1、redis cluster的重要配置cluster-enabledcluster-config-file:這是指定一個文件,供cluster模式下的redis實例將集群狀態(tài)保存在那里,包括集群中其他機器的信息,比如節(jié)點的上線和下限,故障轉移,不是我們去維護的,給它指定一個文件,讓redis自己去維護的cluster-node-timeout:節(jié)點存活超時時長,超過一定時長,認為節(jié)點宕機,master宕機的話就會觸發(fā)主備切換,slave宕機就不會提供服務

2、在三臺機器上啟動6個redis實例

(1)在eshop-cache03上部署目錄

/etc/redis(存放redis的配置文件),/var/redis/6379(存放redis的持久化文件)

(2)編寫配置文件

redis cluster集群,要求至少3個master,去組成一個高可用,健壯的分布式的集群,每個master都建議至少給一個slave,3個master,3個slave,最少的要求

正式環(huán)境下,建議都是說在6臺機器上去搭建,至少3臺機器

保證,每個master都跟自己的slave不在同一臺機器上,如果是6臺自然更好,一個master+一個slave就死了

3臺機器去搭建6個redis實例的redis cluster

mkdir -p /etc/redis-cluster

mkdir -p /var/log/redis

mkdir -p /var/redis/7001

port 7001

cluster-enabled yes

cluster-config-file /etc/redis-cluster/node-7001.conf

cluster-node-timeout 15000

daemonize yes

pidfile /var/run/redis_7001.pid

dir /var/redis/7001

logfile /var/log/redis/7001.log

bind 192.168.31.187

appendonly yes

至少要用3個master節(jié)點啟動,每個master加一個slave節(jié)點,先選擇6個節(jié)點,啟動6個實例

將上面的配置文件,在/etc/redis下放6個,分別為: 7001.conf,7002.conf,7003.conf,7004.conf,7005.conf,7006.conf

(3)準備生產環(huán)境的啟動腳本

在/etc/init.d下,放6個啟動腳本,分別為: redis_7001, redis_7002, redis_7003, redis_7004, redis_7005, redis_7006

每個啟動腳本內,都修改對應的端口號

(4)分別在3臺機器上,啟動6個redis實例

將每個配置文件中的slaveof給刪除

3、創(chuàng)建集群

下面方框內的內容廢棄掉

=======================================================================

wget https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.1.tar.gz

tar -zxvf ruby-2.3.1.tar.gz

./configure -prefix=/usr/local/ruby

make && make install

cd /usr/local/ruby

cp bin/ruby /usr/local/bin

cp bin/gem /usr/local/bin

wget http://rubygems.org/downloads/redis-3.3.0.gem

gem install -l ./redis-3.3.0.gem

gem list --check redis gem

=======================================================================

因為,以前比如公司里面搭建集群,公司里的機器的環(huán)境,運維會幫你做好很多事情

在講課的話,我們手工用從零開始裝的linux虛擬機去搭建,那肯定會碰到各種各樣的問題

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 192.168.31.187:7001 192.168.31.187:7002 192.168.31.19:7003 192.168.31.19:7004 192.168.31.227:7005 192.168.31.227:7006

--replicas: 每個master有幾個slave

6臺機器,3個master,3個slave,盡量自己讓master和slave不在一臺機器上

yes

redis-trib.rb check 192.168.31.187:7001

4、讀寫分離+高可用+多master

讀寫分離:每個master都有一個slave

高可用:master宕機,slave自動被切換過去

多master:橫向擴容支持更大數據量

?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容