加入收藏 | 设为首页 | 会员中心 | 我要投稿 河北网 (https://www.hebeiwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

这可能是目前最全的Redis高可用技术解决方案总结

发布时间:2018-09-06 07:20:43 所属栏目:编程 来源:张冬洪
导读:技能沙龙 | 邀您于8月25日与国美/AWS/转转三位专家配合切磋小措施电商拭魅战 本文首要针对Redis常见的几种行使方法及其优弱点睁开说明。 一、常见行使方法 Redis的几种常见行使方法包罗: Redis单副本; Redis多副本(主从); Redis Sentinel(哨兵); Redi
副问题[/!--empirenews.page--] 技能沙龙 | 邀您于8月25日与国美/AWS/转转三位专家配合切磋小措施电商拭魅战

本文首要针对Redis常见的几种行使方法及其优弱点睁开说明。

一、常见行使方法

Redis的几种常见行使方法包罗:

  • Redis单副本;
  • Redis多副本(主从);
  • Redis Sentinel(哨兵);
  • Redis Cluster;
  • Redis自研。

二、各类行使方法的优弱点

1、Redis单副本

Redis单副本,回收单个Redis节点陈设架构,没有备用节点及时同步数据,不提供数据耐久化和备份计策,合用于数据靠得住性要求不高的纯缓存营业场景。

这也许是今朝最全的Redis高可用技能办理方案总结

利益:

  • 架构简朴,陈设利便;
  • 高性价比:缓存行使时无需备用节点(单实例可用性可以用supervisor或crontab担保),虽然为了满意营业的高可用性,也可以捐躯一个备用节点,但同时候只有一个实例对外提供处事;
  • 高机能。

弱点:

  • 不担保数据的靠得住性;
  • 在缓存行使,历程重启后,数据丢失,纵然有备用的节点办理高可用性,可是如故不能办理缓存预热题目,因此不合用于数据靠得住性要求高的营业;
  • 高机能受限于单核CPU的处理赏罚手段(Redis是单线程机制),CPU为首要瓶颈,以是得当操纵呼吁简朴,排序、计较较少的场景。也可以思量用Memcached更换。

2、Redis多副本(主从)

Redis多副本,回收主从(replication)陈设布局,相较于单副本而言最大的特点就是主从实例间数据及时同步,而且提供数据耐久化和备份计策。主从实例陈设在差异的物理处事器上,按照公司的基本情形设置,可以实现同时对外提供处事和读写疏散计策。

这也许是今朝最全的Redis高可用技能办理方案总结

利益:

  • 高靠得住性:一方面,回收双机主备架构,可以或许在主库呈现妨碍时自动举办主备切换,从库晋升为主库提供处事,担保处事安稳运行;另一方面,开启数据耐久化成果和设置公道的备份计策,能有用的办理数据误操纵和数据非常丢失的题目;
  • 读写疏散计策:从节点可以扩展主库节点的读手段,有用应对大并发量的读操纵。

弱点:

  • 妨碍规复伟大,假如没有RedisHA体系(必要开拓),当主库节点呈现妨碍时,必要手动将一个从节点提拔为主节点,同时必要关照营业方改观设置,而且必要让其余从库节点去复制新主库节点,整个进程必要工钱过问,较量繁琐;
  • 主库的写手段受到单机的限定,可以思量分片;
  • 主库的存储手段受到单机的限定,可以思量Pika;
  • 原生复制的破绽在早期的版本中也会较量突出,如:Redis复制间断后,Slave会提倡psync,此时假犹如步不乐成,则会举办全量同步,主库执行全量备份的同时也许会造成毫秒或秒级的卡顿;又因为COW机制,导致极度环境下的主库内存溢出,措施非常退出或宕机;主库节点天生备份文件导致处事器磁盘IO和CPU(压缩)资源耗损;发送数GB巨细的备份文件导致处事器出口带宽暴增,阻塞哀求,提议进级到最新版本。

3、Redis Sentinel(哨兵)

Redis Sentinel是社区版本推出的原生高可用办理方案,其陈设架构首要包罗两部门:Redis Sentinel集群和Redis数据集群。

个中Redis Sentinel集群是由多少Sentinel节点构成的漫衍式集群,可以实现妨碍发明、妨碍自动转移、设置中心和客户端关照。Redis Sentinel的节点数目要满意2n+1(n>=1)的奇数个。

这也许是今朝最全的Redis高可用技能办理方案总结

这也许是今朝最全的Redis高可用技能办理方案总结

利益:

  • Redis Sentinel集群陈设简朴;
  • 可以或许办理Redis主从模式下的高可用切换题目;
  • 很利便实现Redis数据节点的线形扩展,轻松打破Redis自身单线程瓶颈,可极大满意Redis大容量或高机能的营业需求;
  • 可以实现一套Sentinel监控一组Redis数据节点或多组数据节点。

弱点:

  • 陈设相对Redis主从模式要伟大一些,道理领略更繁琐;
  • 资源挥霍,Redis数据节点中slave节点作为备份节点不提供处事;
  • Redis Sentinel首要是针对Redis数据节点中的主节点的高可用切换,对Redis的数据节点做失败鉴定分为主观下线和客观下线两种,对付Redis的从节点有对节点做主观下线操纵,并不执行妨碍转移。
  • 不能办理读写疏散题目,实现起来相对伟大。

提议:

  • 假如监控统一营业,可以选择一套Sentinel集群监控多组Redis数据节点的方案,反之选择一套Sentinel监控一组Redis数据节点的方案。
  • sentinel monitor <master-name> <ip> <port> <quorum> 设置中的<quorum>提议配置成Sentinel节点的一半加1,当Sentinel陈设在多个IDC的时辰,单个IDC陈设的Sentinel数目不提议高出(Sentinel数目 – quorum)。
  • 公道配置参数,防备误切,节制切换迅速度节制:

a. quorum

b. down-after-milliseconds 30000

c. failover-timeout 180000

d. maxclient

e. timeout

  • 陈设的各个节点处事器时刻只管要同步,不然日记的时序性会紊乱。
  • Redis提议行使pipeline和multi-keys操纵,镌汰RTT次数,进步哀求服从。
  • 自行搞定设置中心(zookeeper),利便客户端对实例的链接会见。

4、Redis Cluster

Redis Cluster是社区版推出的Redis漫衍式集群办理方案,首要办理Redis漫衍式方面的需求,好比,当碰着单机内存,并发和流量等瓶颈的时辰,Redis Cluster能起到很好的负载平衡的目标。

Redis Cluster集群节点最小设置6个节点以上(3主3从),个中主节点提供读写操纵,从节点作为备用节点,不提供哀求,只作为妨碍转移行使。

(编辑:河北网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读