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

深入浅出百亿请求高可用Redis(codis)分布式集群揭秘

发布时间:2019-04-21 03:14:48 所属栏目:教程 来源:jackiej
导读:一、配景 跟着直播元年开启,越来越多的直播产物如春笋般呈现,在拉动营收的进程中,产物不遗余力思索着各类勾当来刺激用户的斲丧欲望,而这类勾当的基本情势就是榜单,在2016年我们基于cmem及扫描流水表的方法来实现榜单排名,2017开始,我们对原有体系进

codis的架构自己分成proxy集群+redis集群,proxy集群的高可用,可以基于zk可能l5来做妨碍转移,而redis集群的高可用是借助于redis开源的哨兵集群来实现,何处codis作为非redis组件,必要办理的一个题目就是怎样集成redis哨兵集群。本节将该题目分成三部门,先容redis哨兵集群怎样担保redis高可用,codisproxy怎样感知redis哨兵集群的妨碍转移举措,redis集群怎样低落“脑裂”的产生概率。

5.2.1 哨兵集群怎样担保redis高可用

Sentinel(哨岗,哨兵)是Redis的高可用办理方案:由一个或多个Sentinel实例构成的Sentinel体系,可以监督恣意多个主处事器,以及这些主处事器属下的全部的从处事器,并在被监督的主处事器进入下线状态时,自动将下线主处事器属下的某个从处事器进级为新的主处事器,然后由主处事器取代已下线的主处事器继承处理赏罚呼吁哀求。

深入浅出百亿哀求高可用Redis(codis)漫衍式集群揭秘

凡是来说要到达处事的高可用的结果必要做2个工作:妨碍探测与妨碍转移(即选主并做主从切换)。

深入浅出百亿哀求高可用Redis(codis)漫衍式集群揭秘

深入浅出百亿哀求高可用Redis(codis)漫衍式集群揭秘

深入浅出百亿哀求高可用Redis(codis)漫衍式集群揭秘

5.2.2 codis怎样感知哨兵集群的妨碍转移举措

codis的架构自己分成proxy集群+redis集群,redis集群的高可用是由哨兵集群来担保的,那么proxy是怎样感知redis主机妨碍,然后切换新主担保处事高可用的呢?

如上图所示,proxy自己会监听sentinle集群的+switch-master变乱,该变乱发出,意味着redis集群主机呈现题目,sentinel集群开始举办推举并切换主机,proxy监听了sentinel的主从切换变乱,收到主从切换变乱之后,proxy会做一个举措,就是把全部sentinel上的集群所感知的当前以为的主机拉取出来,选取过半sentinel以为的主机看成今朝的集群主机。

讲到这里,各人也许会忽略一个题目,就是设置存储,设置中心的存储照旧旧的主机,一旦proxy重起,那拉取的仍旧是妨碍的主机,着实dashboard和proxy也做了一样的工作,收到主从切换变乱之后,就会将新主耐久化到storage中(今朝为zk)

5.2.3 脑裂处理赏罚

脑裂(split-brain)集群的脑裂凡是是产生在集群中部门节点之间不行达而引起的。如下述环境产生时,差异破碎的小集群会自主的选择出master节点,造成本来的集群会同时存在多个master节点。,功效会导致体系紊乱,数据破坏。

深入浅出百亿哀求高可用Redis(codis)漫衍式集群揭秘

在这个题目上,这里simotang同窗已经讲授的很是完美了,大局限codis集群的管理与实践,这里简朴说一下,因为redis集群不能纯真的依靠过半推举的模式,由于redismaster自身没有做检测自身康健状态而降级的举措,以是我们必要一种master康健状态帮助判定降级的方法。详细实现为

1)降级双主呈现的概率,让Quorums判定越发严酷,让主机下线判定时刻越发严酷,我们陈设了5台sentinel呆板包围各大运营商IDC,只有4台主观以为主机下线的时辰才做下线。

2)被断绝的master降级,基于共享资源判定的方法,redis处事器上agent会按时一连检测zk是否凡是,若毗连不上,则向redis发送降级指令,不行读写,捐躯可用性,担保同等性。

六、codis程度扩容细节&迁徙非常处理赏罚

因为codis是针对redis漫衍式的办理方案,肯定谋面对着redis单点容量不敷的环境下程度扩容的题目,本节首要针对codis程度扩容与迁徙非常的细节做一下声名,各人先带着两个题目来看,题目一,迁徙进程中,正在迁徙的key的读写哀求怎么处理赏罚,题目二,迁徙进程中的非常(譬喻失败,超时)怎么处理赏罚。

6.1 Codis扩容迁徙细节

深入浅出百亿哀求高可用Redis(codis)漫衍式集群揭秘

【图】迁徙流程

影响面:

一阶段时代的影响:关照到关照乐成竣事时代,proxy读写哀求阻塞,不丢失,延时增高(时刻极短,并行关照,仅仅修改状态,使proxy中slot状态到达同等)

迁徙进程:可读,正在迁徙批次的不行写,迁徙完成的批次涉及到两次收集io

如上图所示,着实redis滑腻迁徙进程,首要是实现了3个点,迁徙筹备,迁徙举措,迁徙机能担保。

迁徙筹备

(编辑:湖南网)

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

热点阅读