单线程

四季春风,不厌冬

  1. 高可用
  2. 架构演进
    1. 单点
    2. 主从
    3. 哨兵
    4. 集群
  3. 参考

  

高可用

  可用指系统能够提供可靠的功能,高可用指系统最大可能长时间提供可靠的功能。在100个时间单位中,如果1个时间单位系统不可用,那么系统的可用性为99%,如果0.1个时间单位不可用,可用性为99.9%,目前不少服务提供商声称自己的服务可用性达4个9,即99.99%。
  
  如果要探索Reids的高可用,那么得从Redis应用架构演进说起。常见的Redis应用架构经历了单节点、主从、哨兵和集群等模式,随着Reids应用架构的良性发展,Redis的可用性也得到了大幅提高,达到了高可用水准。   

架构演进

  

单点

  Redis单节点部署简单,但是宕机之后,则服务提供服务,非高可用。即使开启了AOP等持久化设置,那也只能最大化保障Redis重启后加载宕机前的数据。
  
  保证系统高可用,架构设计的核心准则是:冗余。   

主从

  只有一个单点,挂了服务会受影响;如果有冗余备份,挂了还有其他backup能够顶上。类似于MySQL主从,从节点依赖binLog日志,执行其中的SQL指令,从而达到主从同步的目的。Redis主节点在执行命令后,将会转发相同的指令到从节点,一旦主节点不可用,从节点将成为主节点,若原主节点恢复,将自动降级从节点。   

哨兵

集群

参考

本文作者 : pengqin.zhou
本文使用 署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0) 协议
本文链接 : https://www.zhoupq.com/blog/Redis-%E5%A6%82%E4%BD%95%E4%BF%9D%E8%AF%81%E9%AB%98%E5%8F%AF%E7%94%A8%E6%80%A7%EF%BC%9F/

本文最后更新于 天前,文中所描述的信息可能已发生改变