Redis集群可靠性的研究与优化
发布时间:2017-12-13 22:00
本文关键词:Redis集群可靠性的研究与优化
更多相关文章: Redis集群 可靠性 容错机制 通信负载均衡 节点选举
【摘要】:近年来内存数据库发展迅速,其中最有代表性的就是Redis数据库。Redis是一种基于key-value键值对存储的内存数据库,具有冗余和复制备份的特性,并且提供了多种编程语言支持以增加兼容性。Redis通常以高容错、高可用、可扩展的集群模式提供服务,广泛应用在高速缓存系统、云计算、大数据处理等领域。随着Redis集群构建规模的增大,其可靠性的问题逐渐突出,提升集群可靠性能够降低集群发生故障给用户造成的损失。本文对Redis集群的容错机制进行深入研究,以此为切入点对集群的可靠性进行优化。本文主要工作如下:(1)针对Redis集群中存在的单节点故障的问题,基于Redis集群容错机制的原理和过程,提出根据集群状态的变化对容错机制进行阶段划分的方法。Redis集群的容错机制保证在发生单点故障时,集群能从故障中恢复。在容错机制运行过程中,集群经过确认下线、恢复上线的状态转变,根据集群的状态变化,本文将Redis集群的容错机制分成下线检测和故障转移两个阶段,下线检测阶段完成故障节点检测,确认集群下线的状态;故障转移阶段通过节点选举和主从切换完成集群的恢复。(2)针对下线检测阶段集群状态收敛较慢的问题,根据Gossip通信协议的消息传播特点,提出一种适用于大规模集群的通信模型。通过该模型建立集群收敛速度和通信过程之间的关系,发现在下线检测阶段,由于通信负载不均衡导致节点发送心跳消息的频率比较低,而且在心跳消息中冗余节点信息的选取具有随机性,降低了有效消息所占的比例。针对集群收敛过程的性能瓶颈,本文提出一种基于通信负载均衡的优化方法对集群的通信过程进行优化,增加集群收敛速度,提高下线检测的效率。(3)针对Redis集群容错机制的宕机容忍度较低的问题,基于集群的分片结构,提出新的主节点选举算法。原始的选举算法容易出现多次选举的情况,而且从节点在选举过程中没有投票权,限制了算法对于多数主节点宕机的情况的适用性。本文从集群分片间的关系考虑,实现一种基于分组协同的片间选举算法。通过优化后的选举算法,提升集群对宕机主节点个数的容忍度。为了对优化前后的Redis集群的可靠性进行对比,本文使用Docker容器技术部署大规模的Redis集群,在此集群上测试容错机制的性能。测试结果显示优化后的Redis集群容错机制效率提升达到28%以上,下线检测阶段的性能提升达到80%以上。优化后的选举算法使得集群对宕机主节点数的容忍度提升了一倍。而且在提升集群可靠性的同时,对集群的通信负载、集群操作延迟和吞吐量几乎不会产生影响。
【学位授予单位】:中国科学技术大学
【学位级别】:硕士
【学位授予年份】:2017
【分类号】:TP311.13
【参考文献】
中国期刊全文数据库 前4条
1 李芬;朱志祥;刘盛辉;;大数据发展现状及面临的问题[J];西安邮电大学学报;2013年05期
2 曾超宇;李金香;;Redis在高速缓存系统中的应用[J];微型机与应用;2013年12期
3 刘德辉;尹刚;王怀民;邹鹏;;Chord网络环境下的Gossip算法[J];计算机工程与科学;2011年09期
4 张小芳,胡正国,郑继川,唐焱;高可用性集群技术的研究和应用[J];计算机工程;2003年04期
中国硕士学位论文全文数据库 前1条
1 蒋智鹏;内存数据库的存储管理[D];华中科技大学;2008年
,本文编号:1286703
本文链接:https://www.wllwen.com/shoufeilunwen/xixikjs/1286703.html