连接redis哨兵模式(redis 哨兵模式配置)

连接redis哨兵模式(redis 哨兵模式配置)1 复制三份 redis windows conf 分别如下配置 redis 6379 windows conf redis 6380 windows conf redis 6381 windows conf 2 启动 3 验证是否成功 看到从节点状态 online 说明主从环境搭建成功了 1 创建三个配置文件 sentinel 26379 windows conf

大家好,我是讯享网,很高兴认识大家。



1.复制三份 redis.windows.conf,分别如下配置

redis-6379.windows.conf

 
  
讯享网

redis-6380.windows.conf

讯享网

redis-6381.windows.conf

 

2.启动

讯享网

3.验证是否成功,看到从节点状态 online 说明主从环境搭建成功了

 

1.创建三个配置文件


讯享网

sentinel-26379.windows.conf

讯享网

sentinel-26380.windows.conf

 

sentinel-26381.windows.conf

讯享网

2.启动哨兵

 

3.验证是否成功,看到最后 status=ok 说明成功了

讯享网

4.演示故障自动切换

关掉主节点 6379,等一会,就会发现哨兵切换了主节点,重新启动 6379 节点,它就变成了从节点了

 

代码客户端连接redis,报错 All sentinels down, cannot determine where is mymaster master is running… 或者 Could not get a resource from the pool

参考这篇博客:windows下配置redis哨兵模式的坑 - 简书

通过客户端原理的介绍,可以加深对哨兵功能的理解:

(1)配置提供者:客户端可以通过哨兵节点+masterName获取主节点信息,在这里哨兵起到的作用就是配置提供者。

需要注意的是,哨兵只是配置提供者,而不是代理。二者的区别在于:如果是配置提供者,客户端在通过哨兵获得主节点信息后,会直接建立到主节点的连接,后续的请求(如set/get)会直接发向主节点;如果是代理,客户端的每一次请求都会发向哨兵,哨兵再通过主节点处理请求。

举一个例子可以很好的理解哨兵的作用是配置提供者,而不是代理。在前面部署的哨兵系统中,将哨兵节点的配置文件进行如下修改:

讯享网

然后,将前述客户端代码在局域网的另外一台机器上运行,会发现客户端无法连接主节点;这是因为哨兵作为配置提供者,客户端通过它查询到主节点的地址为127.0.0.1:6379,客户端会向127.0.0.1:6379建立redis连接,自然无法连接。如果哨兵是代理,这个问题就不会出现了。

注意一点:哨兵程序监控端口和 redis 服务端口都要开放给客户端,否则就访问不通。

我本地开发环境就是这种情况,可以访问通监控端口,但是无法访问redis服务端口。这也再次说明了哨兵只是配置提供者,而不是代理。


小讯
上一篇 2025-06-06 17:47
下一篇 2025-05-01 11:10

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/171592.html