• 模式类型

主从模式(redis2.8版本之前的模式)、哨兵sentinel模式(redis2.8及之后的模式)、redis cluster模式(redis3.0版本之后)

  • 主从模式原理

同Mysql主从复制的原因一样,Redis虽然读取写入的速度都特别快,但是也会产生读压力特别大的情况。为了分担读压力,Redis支持主从复制,Redis的主从结构可以采用一主多从或者级联结构,Redis主从复制可以根据是否是全量分为全量同步和增量同步。下图为级联结构。

优点:

1、解决数据备份问题

2、做到读写分离,提高服务器性能

缺点:

1、每个客户端连接redis实例的时候都是指定了ip和端口号的,如果所连接的redis实例因为故障下线了,而主从模式也没有提供一定的手段通知客户端另外可连接的客户端地址,因而需要手动更改客户端配置重新连接

2、主从模式下,如果主节点由于故障下线了,那么从节点因为没有主节点而同步中断,因而需要人工进行故障转移工作

3、无法实现动态扩容

  • sentinel模式

Sentinel(哨兵)是Redis的高可用性解决方案:由一个或多个Sentinel实例组成的Sentinel系统可以监视任意多个主服务器,以及这些主服务器属下的所有从服务器,并在被监视的主服务器进入下线状态时,自动将下线主服务器属下的某个从服务器升级为新的主服务器。

例如:

优点

1、Master 状态监测

2、如果Master 异常,则会进行Master-slave 转换,将其中一个Slave作为Master,将之前的Master作为Slave

3、Master-Slave切换后,master_redis.conf、slave_redis.conf和sentinel.conf的内容都会发生改变,即master_redis.conf中会多一行slaveof的配置,sentinel.conf的监控目标会随之调换

缺点:

1、如果是从节点下线了,sentinel是不会对其进行故障转移的,连接从节点的客户端也无法获取到新的可用从节点

2、无法实现动态扩容

  • cluster模式

在这个图中,每一个蓝色的圈都代表着一个redis的服务器节点。它们任何两个节点之间都是相互连通的。客户端可以与任何一个节点相连接,然后就可以访问集群中的任何一个节点。对其进行存取和其他操作。

一般集群建议搭建三主三从架构,三主提供服务,三从提供备份功能。

每一个节点都存有这个集群所有主节点以及从节点的信息。

    它们之间通过互相的ping-pong判断是否节点可以连接上。如果有一半以上的节点去ping一个节点的时候没有回应,集群就认为这个节点宕机了,然后去连接它的备用节点。如果某个节点和所有从节点全部挂掉,我们集群就进入faill状态。还有就是如果有一半以上的主节点宕机,那么我们集群同样进入发力了状态。这就是我们的redis的投票机制,具体原理如下图所示:

(1)投票过程是集群中所有master参与,如果半数以上master节点与master节点通信超时(cluster-node-timeout),认为当前master节点挂掉.

    (2):什么时候整个集群不可用(cluster_state:fail)?

    a:如果集群任意master挂掉,且当前master没有slave.集群进入fail状态,也可以理解成集群的slot映射[0-16383]不完整时进入fail状态. ps : redis-3.0.0.rc1加入cluster-require-full-coverage参数,默认关闭,打开集群兼容部分失败.

    b:如果集群超过半数以上master挂掉,无论是否有slave,集群进入fail状态.

原理:

优点:

1、有效的解决了redis在分布式方面的需求

2、遇到单机内存,并发和流量瓶颈等问题时,可采用Cluster方案达到负载均衡的目的

3、可实现动态扩容

4、P2P模式,无中心化

5、通过Gossip协议同步节点信息

6、自动故障转移、Slot迁移中数据可用

缺点:

1、架构比较新,最佳实践较少

2、为了性能提升,客户端需要缓存路由表信息

3、节点发现、reshard操作不够自动化

参考:主从复制原理https://www.cnblogs.com/kevingrace/p/5685332.html

redis单例、主从模式、sentinel以及集群的配置方式及优缺点对比

https://blog.csdn.net/keketrtr/article/details/78802571

Redis进阶实践之十一 Redis的Cluster集群搭建

https://www.cnblogs.com/PatrickLiu/p/8458788.html

Redis进阶实践之十二 Redis的Cluster集群动态扩容

https://www.cnblogs.com/PatrickLiu/p/8473135.html

redis三种模式对比相关推荐

  1. VMware下网络配置三种模式对比(桥接模式,主机模式,网络地址转换)

    1 VMware三种网络模式简介 VMWare提供了三种工作模式,它们是bridged(桥接模式).NAT(网络地址转换模式)和host-only(主机模式).安装好虚拟机以后,在网络连接里面可以看到 ...

  2. lightmapper的enlighten,cpu,gpu三种模式对比。建议enlighten

    参数如下: 电脑是轻薄本联想yoga710-14ikb,i7-7500u,940mx显卡,8g三星ddr4内存,256g三星固态. 1.CPU 130秒 2.enlighten 19秒 3.GPU 4 ...

  3. 数据仓库之建模 维度表 事实表 维度建模三种模式 如何维度建模缓慢变化的维度 建模体系

    数据仓库之建模 ER建模 维度表和事实表 维度建模三种模式 如何维度建模 什么是缓慢变化的维度 最常见的三种数据仓库建模体系 联机分析处理 OLAP 元数据(Metadata) 数据仓库建模包含ER建 ...

  4. redis 高可用(持久化、主从复制、哨兵、集群)以及集群的三种模式

    Redis高可用定义 在web服务器中,高可用代表服务器可以正常访问的时间,一般使用百分比来衡量多长时间内可以提供正常服务 但是在redis中,高可用的定义还要更广泛一点,除了提供正常的服务(如主从分 ...

  5. 详解 Calico 三种模式(与 Fannel 网络对比学习)

    参考 Component architecture calico架构与网络模型深入分析 35 | 解读Kubernetes三层网络方案 calico学习 Kubernetes网络插件Flannel的3 ...

  6. Redis集群部署的三种模式

    一.Redis简介 Redis 是一款完全开源免费.遵守BSD协议的高性能(NOSQL)的key-value数据库.它使用ANSI C语言编写,支持网络.可基于内存亦可持久化的日志型.Key-Valu ...

  7. mysql binlog 权限_MySQL如何开启binlog?binlog三种模式的分析

    前提,创建表t,并插入数据,语句如下: CREATE TABLE `t` ( `id` int(11) NOT NULL, `a` int(11) DEFAULT NULL, `t_modified` ...

  8. oracle物理DG管理-redo数据传输,应用与三种模式

    环境http://blog.csdn.net/sunziyue/article/details/50799648基础之上 1学习配置参数 下列参数为primary 角色相关 *.db_name='or ...

  9. 关于oracle的物理dg,oracle物理DG管理-redo数据传输,应用与三种模式

    环境http://blog.csdn.net/sunziyue/article/details/50799648基础之上 1学习配置参数 下列参数为primary 角色相关 *.db_name='or ...

最新文章

  1. Android常见错误
  2. R读取json文件并转化为dataframe
  3. TextSwitcher的使用(一)
  4. 骚操作!有了这款神器,轻轻松松用Python写APP!(文末彩蛋)
  5. python语言基础与应用慕课课堂测试_中国大学MOOC(慕课)_Python语言基础与应用_题库2020...
  6. html登录后记住用户名,完成登录功能,用session记住用户名
  7. 每日一题(46)—— volatile
  8. labelme标注文件转coco json,coco json转yolo txt格式,coco json转xml, labelme标注文件转分割,boxes转labelme json
  9. bzoj4602 [Sdoi2016]齿轮 边权并查集
  10. 用Wireshark轻松解密TLS浏览器流量
  11. js控制layui radio button选中
  12. html5圆形图片自动旋转,纯CSS3圆形图片鼠标滑过旋转翻盖动画特效
  13. mysql线上问题排查思路及常用命令
  14. CSS 实现平行四边形
  15. xunsearch使用流程
  16. QuestaSim 仿真常用命令
  17. Kotlin - 改良观察者模式
  18. html编辑器贴吧,推荐HTML编辑器
  19. Android 源码结构分析
  20. 连接Wifi显示“无internet,安全”的七种解决方法

热门文章

  1. CCF 201612-3 炉石传说 JAVA实现
  2. 未来十年,互联网将如何颠覆这17个传统行业,你知道吗?
  3. iOS over-the-air installation分发内部测试版本(浏览器安装ipa)
  4. 关于vue中proxyTable原理及配置
  5. 手机游戏逐成移动互联网应用领域“弄潮儿”
  6. idea 设置格式化代码 快捷键
  7. [转贴]因父之名:一个“非科班”的成长史
  8. iphone计算机增强,iPhone手机实用小技巧这么多,身为果粉的你可一定要知道!
  9. 苹果电脑恢复照片|单反相机照片删除怎么恢复?
  10. 【DDL】GRANT和REVOKE