原文链接:http://www.cnblogs.com/chenty/p/5152878.html

最近整理Redis,对sentinel有了更深入的理解,特地总结如下

1.主从Redis

主从redis实际上是一种主备模式,即主redis宕机后,可以切换从redis继续提供服务。

  缺点:

    1.人为关注Master是否宕机

    2.无法完成自动切换主从

    3.从节点的功能未被充分利用

主从模式:

       

2.sentinel

为了解决上述确定,Redis官方提供了sentinel,保证redis的高可用性

图1展示的是sentinel与redis的关系,即sentinel系统对每个redis实例(主、从)均创建两个链接:命令连接、订阅连接

    命令连接:发送INFO命令,与redis保持通信

    订阅连接:通过订阅连接,自动发现其他sentinel实例

图2展示一个最小规模的sentinel,即至少由三个sentinel实例组成,当被监视的redis被判断为主管下线时,需要从sentinel中选举零头sentinel来进行主从切换

优点:

  1.sentienl可以监控主从节点的健康状况,降低了人为监控成本

  2.sentinel可以完成主从切换

缺点:

  1.从节点依然未被充分利用

  2.无法做到横向扩展,提供服务器的只有一个master

sentinel模式:

  

            图1

      

           图2

3.分片

分片思想主要是利用一致性哈希算法,完成redis的横向扩展

  1.通过zookeeper存储sentinel的配置信息

  2.在客户端实现一致性哈希算法,通过路由算法决定redis命令由那个redis实例进行执行

  3.通过增加shard,来分担单个shard的压力

缺点:

  1.扩容时涉及到数据迁移,如果redis中只是缓存数据则方便处理,但如果有业务数据强依赖redis,则迁移时只能停机处理

  2.无法解决冷热数据问题

分片模式:

下节重点:

  JedisClient客户单的实现原理

Redis高可用演进(一)的更多相关文章

  1. Redis高可用之主从复制原理演进分析

    Redis高可用之主从复制原理演进分析 在很久之前写过一篇 Redis 主从复制原理的简略分析,基本是一个笔记类文章. 一.什么是主从复制 1.1 什么是主从复制 主从复制,从名字可以看出,至少需要 ...

  2. Keepalived+Redis高可用部署(第二版)

    更新 20150625 脚本由5个减少为4个,sh脚本指令做了精简. 修改了另外3个脚本,在日志里增加了日期显示. 新增redis数据类型,持久化,主从同步简介. 新增hiredis简介. 新增c语言 ...

  3. Redis 高可用集群

    Redis 高可用集群 Redis 的集群主从模型是一种高可用的集群架构.本章主要内容有:高可用集群的搭建,Jedis连接集群,新增集群节点,删除集群节点,其他配置补充说明. 高可用集群搭建 集群(c ...

  4. sentinel监控redis高可用集群(一)

    一.首先配置redis的主从同步集群. 1.主库的配置文件不用修改,从库的配置文件只需增加一行,说明主库的IP端口.如果需要验证的,也要加多一行,认证密码. slaveof 192.168.20.26 ...

  5. Redis高可用方案----Redis主从+Sentinel+Haproxy

    安装环境 这里使用三台服务器,每台服务器上开启一个redis-server和redis-sentinel服务,redis-server端口为6379,redis-sentinel的端口为26379. ...

  6. 9.Redis高可用-哨兵

    9.Redis高可用-哨兵9.1 基本概念9.1.1 主从复制的问题9.1.2 高可用9.1.3 Redis Sentinel的高可用性9.2 安装和部署9.2.1 部署拓扑结构9.2.2 部署Red ...

  7. Windows版本redis高可用方案探究

    目录 Windows版本redis高可用方案探究 前言 搭建redis主从 配置主redis-28380 配置从redis-23381 配置从redis-23382 将redis部署为服务 启动red ...

  8. Redis高可用详解:持久化技术及方案选择

    文章摘自:https://www.cnblogs.com/kismetv/p/9137897.html 前言 在上一篇文章中,介绍了Redis的内存模型,从这篇文章开始,将依次介绍Redis高可用相关 ...

  9. 如何构建 Redis 高可用架构?

    温国兵 民工哥技术之路 今天 1 .题记 Redis 是一个开源的使用 ANSI C 语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value 数据库,并提供多种语言的 API. 如今,互 ...

随机推荐

  1. JVM(8) 线程安全与锁优化

    面向过程编程:程序编写以算法为核心,程序员会把数据和过程分别作为独立的部分来考虑,数据代表问题空间的客体,程序代码则用于处理这些数据.这种思维方式直接站在计算机的角度去抽象问题和解决问题,称为面向过程 ...

  2. django-模型之(ORM)对象关系映射(一)

    所谓对象关系映射,就是将数据库的一些名字与python中的一些名字相对应,表名-->类名,字段-->属性,操作(增删改查)-->方法.这样,我们就可以通过对Python代码的编辑来对 ...

  3. java中的时区转换

    目录 java中的时区转换 一.时区的说明 二.时间的表示 三.时间戳 四.Date类和时间戳 五.java中的时区转换 java中的时区转换 一.时区的说明 地球表面按经线从东到西,被划成一个个区域 ...

  4. 前端与算法 leetcode 26. 删除排序数组中的重复项

    目录 # 前端与算法 leetcode 26. 删除排序数组中的重复项 题目描述 概要 提示 解析 算法 # 前端与算法 leetcode 26. 删除排序数组中的重复项 题目描述 26. 删除排序数 ...

  5. 敏捷宣言(Agile Manifesto)和敏捷开发十二原则

    敏捷宣言 The Agile Manifesto Individuals and interactions over Process and tools 个体与交互 重于 过程和工具 Working ...

  6. (八)golang--复杂类型之指针

    首先我们要明确:(1)基本数据类型:变量存的就是值,也叫值类型: (2)获取变量的地址,用&,例如var num int,获取num的地址:&num: (3)指针类型:变量存的是一个地 ...

  7. NOIP模拟赛 华容道 (搜索和最短路)蒟蒻的第一道紫题

    题目描述 小 B 最近迷上了华容道,可是他总是要花很长的时间才能完成一次.于是,他想到用编程来完成华容道:给定一种局面, 华容道是否根本就无法完成,如果能完成, 最少需要多少时间. 小 B 玩的华容道 ...

  8. RocketMQ 主从同步若干问题答疑

    目录 1.初识主从同步 2.提出问题 3.原理探究 3.1 RocketMQ主从读写分离机制 3.2 消息消费进度同步机制 4.总结 温馨提示:建议参考代码RocketMQ4.4版本,4.5版本引入了 ...

  9. Linux 项目 shell 自动获取报告本机IP (1) | 通过shell 自动获取报告本机IP

    由于电脑设置静态IP经常出现链接不上网络,动态IP又非常不方便,故有了这个想法并实现 原理: Linux,包含PC机器,树莓派等,通过shell 自动获取报告本机IP  | 通过 Mutt+Msmtp ...

  10. php微信卡券logo上传方法

    php微信卡券logo上传方法 <pre> $xiangmupath = $this->getxiangmupath(); $logo = $xiangmupath . '/imag ...