Redis集群可靠性的研究与优化

来源 :中国科学技术大学 | 被引量 : 0次 | 上传用户:zhoudeyou
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
近年来内存数据库发展迅速,其中最有代表性的就是Redis数据库。Redis是一种基于key-value键值对存储的内存数据库,具有冗余和复制备份的特性,并且提供了多种编程语言支持以增加兼容性。Redis通常以高容错、高可用、可扩展的集群模式提供服务,广泛应用在高速缓存系统、云计算、大数据处理等领域。随着Redis集群构建规模的增大,其可靠性的问题逐渐突出,提升集群可靠性能够降低集群发生故障给用户造成的损失。本文对Redis集群的容错机制进行深入研究,以此为切入点对集群的可靠性进行优化。本文主要工作如下:(1)针对Redis集群中存在的单节点故障的问题,基于Redis集群容错机制的原理和过程,提出根据集群状态的变化对容错机制进行阶段划分的方法。Redis集群的容错机制保证在发生单点故障时,集群能从故障中恢复。在容错机制运行过程中,集群经过确认下线、恢复上线的状态转变,根据集群的状态变化,本文将Redis集群的容错机制分成下线检测和故障转移两个阶段,下线检测阶段完成故障节点检测,确认集群下线的状态;故障转移阶段通过节点选举和主从切换完成集群的恢复。(2)针对下线检测阶段集群状态收敛较慢的问题,根据Gossip通信协议的消息传播特点,提出一种适用于大规模集群的通信模型。通过该模型建立集群收敛速度和通信过程之间的关系,发现在下线检测阶段,由于通信负载不均衡导致节点发送心跳消息的频率比较低,而且在心跳消息中冗余节点信息的选取具有随机性,降低了有效消息所占的比例。针对集群收敛过程的性能瓶颈,本文提出一种基于通信负载均衡的优化方法对集群的通信过程进行优化,增加集群收敛速度,提高下线检测的效率。(3)针对Redis集群容错机制的宕机容忍度较低的问题,基于集群的分片结构,提出新的主节点选举算法。原始的选举算法容易出现多次选举的情况,而且从节点在选举过程中没有投票权,限制了算法对于多数主节点宕机的情况的适用性。本文从集群分片间的关系考虑,实现一种基于分组协同的片间选举算法。通过优化后的选举算法,提升集群对宕机主节点个数的容忍度。为了对优化前后的Redis集群的可靠性进行对比,本文使用Docker容器技术部署大规模的Redis集群,在此集群上测试容错机制的性能。测试结果显示优化后的Redis集群容错机制效率提升达到28%以上,下线检测阶段的性能提升达到80%以上。优化后的选举算法使得集群对宕机主节点数的容忍度提升了一倍。而且在提升集群可靠性的同时,对集群的通信负载、集群操作延迟和吞吐量几乎不会产生影响。
其他文献
<正>"我国融合应用持续深化,经济新动能显著增强。"工信部副部长陈肇雄7月10日在京表示,将坚持融合发展,促进产业数字化,不断催生新模式新业态新产业,打造新动能、推动新发展
对以案例为基础的学习(CBL)教学法的概念、起源、发展、实施方法以及国内外的应用现状进行了综述,同时指出CBL的发展所面临的挑战及发展建议。
<正>膀胱痉挛是指膀胱平滑肌痉挛性收缩,在临床上主要以尿淋漓、暂时性闭尿和尿性腹痛为主要临床特征,无炎症变化。膀胱痉挛是膀胱前列腺手术后常见的并发症,临床发生率为40%
<正>深静脉血栓(deep venous thrombosis,DVT)是血液在深静脉内异常凝结形成血栓引起的静脉回流障碍性疾病,血栓脱落可引起肺动脉栓塞(pulmonary embolism,PE)。因两者在形成
自密实混凝土具有大流动性、间隙通过性、自填充性能和加快施工进度等特点,能够适应大部分难以振捣工程;很多工程期待混凝土兼具自密实与清水效果。但是针对自密实清水混凝土
构建一个能够指导实现社会服务项目效果的管理指标体系,对于提高社会服务项目的管理效率和效益具有积极作用。本研究以强调项目输入、执行过程与项目目标之间因果逻辑的逻辑
资金是企业生产、经营、发展的动力,是财务集约化管理的核心内容。供电企业资金管理应围绕"管理规范、全面控制、集中运作、提高效率"的原则,以制度为指导,促进业务和信息的
<正>卡尔·玛利亚·冯·韦伯(1786-1826),德国早期浪漫主义音乐最具代表性的作曲家之一,兼具全面的艺术才能。除作曲之外,他还是钢琴演奏大师、现代指挥艺术的早期实践者,以
本文提出了一种利用BP神经网络进行在线自整定的模糊史密斯预估控制系统,该系统结合了BP神经网络、模糊控制、史密斯预估控制的优点,通过仿真实验表明,这种控制方法对具有大