标签:目录 bubuko moni 引用 time redis 数据 second border
我们知道redis是有主从复制的,例如下图:
但如果master主进程挂掉之后,没有slave站出来当master,那么整个写redis业务就崩溃了。虽然其他业务可以从从redis上继续读取数据,当主写redis已经崩溃了,势必造成影响。而redis为我们提供了Sentinel来做redis的高可用工具,因此个人觉得实际上redis并不需要像Nginx那样,与keepalived组合成高可用,或者进行集群化操作,用多sentinel与主从即可。当然集群也有着它的好处:构建多节点,节点上的数据都不一样把数据都分散存放到各个节点上进行存储,某个节点的退出依旧有其他节点补充。引用网上的图:
(集群节点)
主从是master或者slave都会备份一份数据,集群是节点共享数据,在中间件模式中,可以使用集群与主从相结合的模式开发。
部署
构建简单的一个sentinel,一个 master redis ,两个slove redis 。
在linux上自建的conf配置目录(/code/redis/conf)下,可以看到四个conf文件:
[root@VM_71_225_centos conf]# ll
-rw-r----- 1 root root 138 Apr 19 19:17 redis-6379.conf
-rw-r--r-- 1 root root 108 Apr 19 19:15 redis-6380.conf
-rw-r--r-- 1 root root 86 Apr 19 19:15 redis-6381.conf
-rw-r--r-- 1 root root 447 Apr 19 19:18 sentinel-26379.conf
分别配置如下:
redis-6379.conf ==>
port 6379
daemonize yes
logfile "6379.log"
dbfilename "dump-6379.rdb"
dir "/tmp/log"
-----------------------------------------------------------------------------------------------------------------
redis-6380.conf ==>
port 6380
daemonize yes
logfile "6380.log"
dbfilename "dump-6380.rdb"
dir "/tmp/log"
slaveof 127.0.0.1 6379
-----------------------------------------------------------------------------------------------------------------
redis-6381.conf ==>
port 6381
daemonize yes
logfile "6381.log"
dbfilename "dump-6381.rdb"
dir "/tmp/log"
slaveof 127.0.0.1 6379
-----------------------------------------------------------------------------------------------------------------
sentinel-26379.conf ==>
port 26379
dir "/tmp/log"
logfile "26379.log"
sentinel monitor mymaster 127.0.0.1 6379 1
sentinel down-after-milliseconds mymaster 10000
sentinel failover-timeout mymaster 900000
标签:目录 bubuko moni 引用 time redis 数据 second border
原文地址:https://www.cnblogs.com/zhenghongxin/p/8885879.html