前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Redis 哨兵模式

Redis 哨兵模式

作者头像
RJ1027
发布2021-08-09 14:53:07
6290
发布2021-08-09 14:53:07
举报
文章被收录于专栏:J的故事J的故事

哨兵模式概述

哨兵模式是一种特殊的模式,首先Redis提供了哨兵的命令,哨兵是一个独立的进程,作为进程,它会独立运行。其原理是哨兵通过发送命令,等待Redis服务器响应,从而监控运行的多个Redis实例。

请输入图片描述
请输入图片描述

多哨兵模式

假设主服务器宕机,哨兵1先检测到这个结果,系统并不会马上进行failover过程,仅仅是哨兵1主观的认为主服务器不可用,这个现象成为主观下线。当后面的哨兵也检测到主服务器不可用,并且数量达到一定值时,那么哨兵之间就会进行一次投票,投票的结果由一个哨兵发起,进行failover操作。切换成功后,就会通过发布订阅模式,让各个哨兵把自己监控的从服务器实现切换主机,这个过程称为客观下线。

请输入图片描述
请输入图片描述

测试!

1.配置哨兵配置文件sentinel.conf

代码语言:javascript
复制
sentinel monitor myredis 127.0.0.1 6379 1

后面的这个数字1,代表主机挂了,slave投票看让谁阶梯成为主机,票数最多的就成为主机

代码语言:javascript
复制
/www/server/redis/src/redis-sentinel /www/server/redis/kconfig/sentinel #启动监控

代码语言:javascript
复制
[root@iz2zeclwyjl1sk1uesu6z1z src]#  /www/server/redis/src/redis-sentinel 
/www/server/redis/kconfig/sentinel
3383:X 23 Oct 2020 17:35:07.017 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
3383:X 23 Oct 2020 17:35:07.017 # Redis version=6.0.8, bits=64, commit=00000000, modified=0, pid=3383, 
just started
3383:X 23 Oct 2020 17:35:07.017 # Configuration loaded
                _._                                              
           _.-``__ ''-._                                         
      _.-``    `.  `_.  ''-._           Redis 6.0.8 (00000000/0) 64 bit
  .-`` .-```.  ```\/    _.,_ ''-._                               
 (    '      ,       .-`  | `,    )     Running in sentinel mode
 |`-._`-...-` __...-.``-._|'` _.-'|     Port: 26379
 |    `-._   `._    /     _.-'    |     PID: 3383
  `-._    `-._  `-./  _.-'    _.-'                               
 |`-._`-._    `-.__.-'    _.-'_.-'|                              
 |    `-._`-._        _.-'_.-'    |           http://redis.io    
  `-._    `-._`-.__.-'_.-'    _.-'                               
 |`-._`-._    `-.__.-'    _.-'_.-'|                              
 |    `-._`-._        _.-'_.-'    |                              
  `-._    `-._`-.__.-'_.-'    _.-'                               
      `-._    `-.__.-'    _.-'                                   
          `-._        _.-'                                       
              `-.__.-'                                           

3383:X 23 Oct 2020 17:35:07.018 # WARNING: The TCP backlog setting of 511 cannot be enforced because 
/proc/sys/net/core/somaxconn is set to the lower value of 128.
3383:X 23 Oct 2020 17:35:07.022 # Sentinel ID is ee42d4ff53ff3617a6287c1946b44e62ca621873
3383:X 23 Oct 2020 17:35:07.022 # +monitor master myredis 127.0.0.1 6379 quorum 1
3383:X 23 Oct 2020 17:35:07.023 * +slave slave 127.0.0.1:6381 127.0.0.1 6381 @ myredis 127.0.0.1 6379
3383:X 23 Oct 2020 17:35:07.027 * +slave slave 127.0.0.1:6380 127.0.0.1 6380 @ myredis 127.0.0.1 6379

如果主节点宕机了,这是偶就会从从机中选举出来一个新的主机

请输入图片描述
请输入图片描述

如果刚开始的主机复活了,那也只能当新选举的主机的从机,这就是哨兵模式的规则!

哨兵模式

优点:

  1. 哨兵集群,基于主从复制,所有的主从配置优点他都有
  2. 主从可以切换,故障可以转移,系统的额可用性就会更好
  3. 哨兵模式就是主从模式的升级,手动到制动,更加健壮 缺点:
  4. Redis不好在线扩容,集群容量一旦达到上线,在线扩容就十分的麻烦!
  5. 实现哨兵模式的配置其实是很麻烦的,里面有多种选择
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-12-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 哨兵模式概述
  • 多哨兵模式
  • 测试!
  • 哨兵模式
相关产品与服务
云数据库 Redis
腾讯云数据库 Redis(TencentDB for Redis)是腾讯云打造的兼容 Redis 协议的缓存和存储服务。丰富的数据结构能帮助您完成不同类型的业务场景开发。支持主从热备,提供自动容灾切换、数据备份、故障迁移、实例监控、在线扩容、数据回档等全套的数据库服务。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档