zoukankan      html  css  js  c++  java
  • 【Redis】Redis学习(四) Redis Sentinel模式详解

      

      主从模式的弊端就是不具备高可用性,当master挂掉以后,Redis将不能再对外提供写入操作,因此sentinel应运而生。

      Redis Sentinel是Redis官方提供的集群管理工具,主要有三大功能:

    1. 监控:能持续监控Redis的主从实例是否正常工作;
    2. 通知:当被监控的Redis实例出问题时,能通过API通知系统管理员或其他程序;
    3. 自动故障恢复:如果主实例无法正常工作,Sentinel将启动故障恢复机制把一个从实例提升为主实例,其他的从实例将会被重新配置到新的主实例,且应用程序会得到一个更换新地址的通知。
    4. 配置提供:因为sentinel保存着Redis主从的信息,所以Redis可以从sentinel那获得所有的配置信息。

      Redis Sentinel是一个分布式系统,可以部署多个Sentinel实例来监控同一组Redis实例,当然只要有一个Sentinel实例就可以完成上面的功能,当然一个sentinel实例也是不具备高可用性,所以一般也会搭建sentinel集群。

    一、Redis sentinel模式搭建

      https://redis.io/topics/sentinel讲的很详细了,照做即可,这还有中文版的,不过版本低了一点,依然可以用,地址为:http://doc.redisfans.com/topic/sentinel.html

    二、Redis sentinel的Java客户端连接

      sentinel就可以满足一般生产的需求了,所以开发过程中可以使用:

    Set<String> sentinels = new HashSet<>(
        Arrays.asList("ip:port", "ip:port", "ip:port"));
    GenericObjectPoolConfig poolConfig = new GenericObjectPoolConfig();
    //此处对poolConfig进行设置
    JedisSentinelPool pool = new JedisSentinelPool("yiwangzhibujian", sentinels, poolConfig);
    Jedis jedis = pool.getResource();
    //使用jedis进行操作
    //使用完直接close即可,会自动判断,若单个连接则关闭,在连接池内则归还
    jedis.close();

      这样就可以了。

  • 相关阅读:
    每日算法-02旋转矩阵
    广搜
    每日算法-01
    洛谷P1162填涂颜色
    队列
    知识网站复习
    mysql索引底层的数据结构和算法
    Java中的类反射
    常见的加密方式
    计算机数制和运算的一点总结.
  • 原文地址:https://www.cnblogs.com/yiwangzhibujian/p/7053848.html
Copyright © 2011-2022 走看看