Spring sentinel哨兵模式相关原理解析

网友投稿 868 2023-03-16

Spring sentinel哨兵模式相关原理解析

Spring sentinel哨兵模式相关原理解析

1. sentinel作用

1. 当用Redis做主从方案时,假如master宕机,Redis本身无法自动进行主备切换

2. 而Redis-sentinel本身也是一个独立运行的进程,它能监控多个master-slave集群,发现master宕机后能进行自动切换。

2. sentinel原理

1. sentinel负责持续监控主节点的健康,当主节挂掉时,自动选择一个最优的从节点切换成主节点

2. 从节点来连接集群时会首先连接sentinel,通过sentinel来查询主节点的地址

3. 当主节点发生故障时,sentinel会将最新的主节点地址告诉客户端,可以实现无需重启自动切换redis

3. Sentinel支持集群

1. 只使用单个sentinel进程来监控redis集群是不可靠的,当sentinel进程宕掉后selOUYAHdvGntinel本身也有单点问题

2. 如果有多个sentinel,redis的客户端可以随意地连接任意一个sentinel来获得关于redis集群中的信息。

4. Sentinel版本

1. Sentinel当前稳定版本称为Sentinel 2,Redis2.8和Redis3.0附带稳定的哨兵版本

2. 安装完redis-3.2.8后,redis-3.2.8/src/redis-sentinel启动程序 redis-3.2.8/sentinel.conf是配置文件。

5. 运行sentinel两种方式(效果相同)

法1:redis-sentinel /path/to/sentinel.conf

法2:redis-server /path/to/sentinel.conf --sentinel

1. 以上两种方式,都必须指定一个sentinel的配置文件sentinel.conf,如果不指定,将无法启动sentinel。

2. sentinel默认监听26379端口,所以运行前必须确定该端口没有被别的进程占用。

6. sentinel.conf配置文件说明

1. 配置文件只需要配置master的信息就好啦,不用配置slave的信息,因为slave能够被自动检测

2. 需要注意的是,配置文件在sentinel运行期间是会被动态修改的,例如当发生主备切换时候,配置文件中的master会被修改为另外一个slave。

3. 这样,之后sentinel如果重启时,就可以根据这个配置来恢复其之前所监控的redis集群的状态。

# sentinel.conf 配置说明

sentinel monitor mymaster 1http://27.0.0.1 6379 2

sentinel down-after-milliseconds mymaster 60000

sentinel failover-timeout mymaster 180000

sentinel parallel-syncs mymaster 1

7. 配置传播

1. 一旦一个sentinel成功地lOUYAHdvG对一个master进行了failover,它将会把关于master的最新配置通过广播形式通知其它sentinel,其它的sentinel则更新对应master的配置。

2. 一个faiover要想被成功实行,sentinel必须能够向选为master的slave发送SLAVE OF NO ONE命令,然后能够通过INFO命令看到新master的配置信息。

3. 当将一个slave选举为master并发送SLAVE OF NO ONE`后,即使其它的slave还没针对新master重新配置自己,failover也被认为是成功了的。

因为每一个配置都有一个版本号,所以以版本号最大的那个为标准:

1)假设有一个名为mymaster的地址为192.168.1.50:6lOUYAHdvG379。lOUYAHdvG

2)一开始,集群中所有的sentinel都知道这个地址,于是为mymaster的配置打上版本号1。

3)一段时候后mymaster死了,有一个sentinel被授权用版本号2对其进行failover。

4)如果failover成功了,假设地址改为了192.168.1.50:9000,此时配置的版本号为2

5)进行failover的sentinel会将新配置广播给其他的sentinel,发现新配置的版本号为2时,版本号变大了,说明配置更新了,于是就会采用最新的版本号为2的配置。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:抖音电脑版怎样打开小程序(抖音电脑版如何添加小程序)
下一篇:物联网 工业革命(物联网 工业革命是哪一年)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~