Redis 哨兵模式
侧边栏壁纸
  • 累计撰写 60 篇文章
  • 累计收到 94 条评论

Redis 哨兵模式

J的故事
2020-12-30 / 0 评论 / 4,437 阅读 / 正在检测是否收录...

哨兵模式概述

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

多哨兵模式

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

测试!

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

sentinel monitor myredis 127.0.0.1 6379 1

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

/www/server/redis/src/redis-sentinel /www/server/redis/kconfig/sentinel #启动监控

[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. 实现哨兵模式的配置其实是很麻烦的,里面有多种选择
0

评论 (0)

取消