zoukankan      html  css  js  c++  java
  • redis 官网文档 sentinel 简单翻译 && 简单总结QA

    笔记只是笔记,适当做总结可以提前提炼出将来可能在实践中遇到的问题。

    sentinel简单Q-A:

    Q1:sentinel有什么特点?

    A1:

    主从模式是redis高可用的一个基本模式,但是没有自动故障转移,sentinel实现了自动故障转移;

    sentinel可以monitor多套master-replica集群,以master-name区分;

    sentinel可以发现其他的sentinel,还可以通过monitor的master节点来发现它的replicas节点列表,这种自动发现功能是通过订阅了“__sentinel:hello”通道实现的,机理是每个sentinel往通道上发布自己信息,监控同一个master的sentinel可以收到其他sentinel发布的信息。

    Q2:使用sentinel后客户端有什么改变?

    A2:

    使用sentinel架构后,客户端不再处理繁多的redis master和replica节点的地址信息,只需要和sentinel进行连接就可以获取到相应的 master-replica 集群的地址信息。这在 redis 节点变更时能做到客户端层面透明无“感知”。

    虽然通过Q1中的部分内容我们知道 sentinel可以发现其他的sentinel,但是出于需要在客户端高可用的考虑,仍应该填写两个或两个以上的sentinel节点信息(从厮大的《深入理解Kafka核心设计与实践原理》学的,想学 kafka 的童鞋们推荐入手一本),避免只填一个节点导致单点故障。代码示例如下:

    (注意:不管用什么redis客户端,需要你用的redis客户端支持sentinel API)

     1 public static void testSentinel() throws Exception {
     2          String masterName = "mymaster";
     3          Set<String> sentinels = new HashSet<>();
     4          sentinels.add("192.168.92.100:26379");
     5          sentinels.add("192.168.92.101:26379");
     6  
     7          JedisSentinelPool pool = new JedisSentinelPool(masterName, sentinels); 
     8          Jedis jedis = pool.getResource();
     9          jedis.set("key1", "value1");
    10          pool.close();
    11 }

  • 相关阅读:
    oracle全文检索笔记
    java命令行运行带外部jar
    xstream对象xml互转
    spring postconstruct
    eclipse tomcat内存设置
    tomcat PermGen space
    springmvc+mybatis如何分层
    maven+springmvc+easyui+fastjson+pagehelper
    eclipse优化配置
    CodeSmith生成Entity时SourceTable.Description换行不注释
  • 原文地址:https://www.cnblogs.com/christmad/p/11510850.html
Copyright © 2011-2022 走看看