zoukankan      html  css  js  c++  java
  • redis哨兵模式

    redis哨兵模式

    自动选举老大的模式

    主从切换技术的方法是:当主服务器宕机后,需要手动把一台从服务器切换为主服务器,这就需要人工干预,费事费力,还会造成一段时间内服务不可用。这不是一种推荐的方式,更多时候,我们优先考虑哨兵模式。Redis从2.8开始正式提供了Sentinel (哨兵)架构来解决这个问题

    谋朝篡位的自动版,能够后台监控主机是否故障,如果故障了根据投票数自动将从库转换为主库

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

    这里的哨兵有两个作用

    • 通过发送命令,让Redis服务器返回监控其运行状态,包括主服务器和从服务器
    • 当哨兵监测到master宕机,会自动将slave切换成master,然后通过发布订阅模式通知其他的从服务器,修改配置文件,让它们切换主机。

    然而一个哨兵进程对Redis服务器进行监控,可能会出现问题,为此,我们可以使用多个哨兵进行监控。各个哨兵之间还会进行监控,这样就形成了多哨兵模式

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

    在一主而从环境下,新建哨兵配置文件,文件是固定的

    vim sentinel.conf
    

    在配置文件添加内容,因为哨兵配置内容很多,所以这里只写一个核心配置

    # sentinel monitor 主机名(自定义) host port 1;1代表主机挂了,slave投票选举新的主机
    sentinel monitor myredis 127.0.0.1 6379 1
    

    启动哨兵模式

    redis-sentinel redis-config/sentinel.conf 
    

    如果Master节点断了,这个时候就会根据投票算法在从机中选举出新的主机

    如果主机重连,只能归并到新的主机下,当作从机

    哨兵优点

    • 哨兵集群,基于主从复制模式,具备所有主从模式的优点
    • 主从可以切换,故障可以转移,系统的可用性会更好
    • 哨兵模式就是主从模式的升级,手动到自动,更加健壮

    哨兵缺点

    • redis不好在线扩容,集群容量一旦达到上限,在线扩容就十分麻烦
    • 实现哨兵模式的配置很麻烦
    记得快乐
  • 相关阅读:
    Java如何编写自动售票机程序
    install windows service
    redis SERVER INSTALL WINDOWS SERVICE
    上传文件
    This problem will occur when running in 64 bit mode with the 32 bit Oracle client components installed.
    解决Uploadify上传控件加载导致的GET 404 Not Found问题
    OracleServiceORCL服务不见了怎么办
    Access to the temp directory is denied. Identity 'NT AUTHORITYNETWORK SERVICE' under which XmlSerializer is running does not have sufficient permiss
    MSSQL Server 2008 数据库安装失败
    数据库数据导出成XML文件
  • 原文地址:https://www.cnblogs.com/Y-wee/p/14560803.html
Copyright © 2011-2022 走看看