返回介绍

13. Redis 哨兵机制

发布于 2024-08-13 21:04:52 字数 1993 浏览 0 评论 0 收藏 0

13.1 哨兵 Sentinel 机制

Sentinel(哨兵)是 Redis 的高可用性解决方案:由一个或多个 Sentinel 实例 组成的 Sentinel 系统可以监视任意多个主服务器,以及这些主服务器属下的所有从服务器,并在被监视的主服务器进入下线状态时,自动将下线主服务器属下的某个从服务器升级为新的主服务器。简单的说哨兵就是带有 自动故障转移功能的主从架构

无法解决: 1.单节点并发压力问题 2.单节点内存和磁盘物理上限

13.2 哨兵架构原理

image-20200627204422750

13.3 搭建哨兵架构

# 1.在主节点上创建哨兵配置
- 在 Master 对应 redis.conf 同目录下新建 sentinel.conf 文件,名字绝对不能错;

# 2.配置哨兵,在 sentinel.conf 文件中填入内容:
- sentinel monitor 被监控数据库名字(自己起名字) ip port 1

# 3.启动哨兵模式进行测试
- redis-sentinel  /root/sentinel/sentinel.conf
    说明:这个后面的数字 2,是指当有两个及以上的 sentinel 服务检测到 master 宕机,才会去执行主从切换的功能。

13.4 通过 springboot 操作哨兵

# redis sentinel 配置
# master 书写是使用哨兵监听的那个名称
spring.redis.sentinel.master=mymaster
# 连接的不再是一个具体 redis 主机,书写的是多个哨兵节点
spring.redis.sentinel.nodes=192.168.202.206:26379
  • 注意:如果连接过程中出现如下错误:RedisConnectionException: DENIED Redis is running in protected mode because protected mode is enabled, no bind address was specified, no authentication password is requested to clients. In this mode connections are only accepted from the loopback interface. If you want to connect from external computers to Redis you may adopt one of the following solutions: 1) Just disable protected mode sending the command 'CONFIG SET protected-mode no' from the loopback interface by connecting to Redis from the same host the server is running, however MAKE SURE Redis is not publicly accessible from internet if you do so. Use CONFIG REWRITE to make this change permanent. 2)
  • 解决方案:在哨兵的配置文件中加入 bind 0.0.0.0 开启远程连接权限

image-20200629154647970

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文