副问题[/!--empirenews.page--]
技能沙龙 | 邀您于8月25日与国美/AWS/转转三位专家配合切磋小措施电商拭魅战
本文首要针对Redis常见的几种行使方法及其优弱点睁开说明。
一、常见行使方法
Redis的几种常见行使方法包罗:
- Redis单副本;
- Redis多副本(主从);
- Redis Sentinel(哨兵);
- Redis Cluster;
- Redis自研。
二、各类行使方法的优弱点
1、Redis单副本
Redis单副本,回收单个Redis节点陈设架构,没有备用节点及时同步数据,不提供数据耐久化和备份计策,合用于数据靠得住性要求不高的纯缓存营业场景。
利益:
- 架构简朴,陈设利便;
- 高性价比:缓存行使时无需备用节点(单实例可用性可以用supervisor或crontab担保),虽然为了满意营业的高可用性,也可以捐躯一个备用节点,但同时候只有一个实例对外提供处事;
- 高机能。
弱点:
- 不担保数据的靠得住性;
- 在缓存行使,历程重启后,数据丢失,纵然有备用的节点办理高可用性,可是如故不能办理缓存预热题目,因此不合用于数据靠得住性要求高的营业;
- 高机能受限于单核CPU的处理赏罚手段(Redis是单线程机制),CPU为首要瓶颈,以是得当操纵呼吁简朴,排序、计较较少的场景。也可以思量用Memcached更换。
2、Redis多副本(主从)
Redis多副本,回收主从(replication)陈设布局,相较于单副本而言最大的特点就是主从实例间数据及时同步,而且提供数据耐久化和备份计策。主从实例陈设在差异的物理处事器上,按照公司的基本情形设置,可以实现同时对外提供处事和读写疏散计策。
利益:
- 高靠得住性:一方面,回收双机主备架构,可以或许在主库呈现妨碍时自动举办主备切换,从库晋升为主库提供处事,担保处事安稳运行;另一方面,开启数据耐久化成果和设置公道的备份计策,能有用的办理数据误操纵和数据非常丢失的题目;
- 读写疏散计策:从节点可以扩展主库节点的读手段,有用应对大并发量的读操纵。
弱点:
- 妨碍规复伟大,假如没有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 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从),个中主节点提供读写操纵,从节点作为备用节点,不提供哀求,只作为妨碍转移行使。
(编辑:河北网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|