云计算平台中内存缓存系统的设计与实现
本文关键词:云计算平台中内存缓存系统的设计与实现
更多相关文章: 云计算 内存缓存 memcached 高可用性
【摘要】:在云计算平台中,为了加快云计算平台中应用的访问速度,内存缓存技术的应用已经十分普遍了,内存缓存的使用将极大地提升用户使用云应用的响应速度。大部分云计算服务提供商的云计算平台中都开始使用内存缓存系统了,如亚马逊云计算服务AWS使用的内存缓存系统ElastiCache。本文设计的内存缓存系统PRCACHE是基于开源memcached并进行了一些改进而完成的。首先,本文分析了传统memcached部署中存在的问题,memcached本身是集中式的,memcached的分布式依赖于客户端。传统的memcached部署不仅容易出现负载不均衡的问题,而且容易出现单点失效的问题。在对传统部署分析的基础上提出了对本文设计的PRCACHE缓存系统的需求,PRCACHE需要满足高可用性,支持大规模并发且做到负载均衡。根据这两点需求,提出PRCACHE缓存系统的总体架构:由网络接口模块、请求处理模块和存储处理模块组成,请求处理模块由负载均衡子模块和缓存备份子模块组成,存储处理模块由数据存储子模块和缓存同步子模块组成。缓存系统的高可用性由缓存备份和缓存同步子模块保证,大规模并发的支持及负载均衡的实现由网络接口模块和负载均衡子模块保证。其次,基于对PRCACHE的需求分析,本文对各功能模块进行了详细设计和实现。网络接口模块采用高性能I/O框架库libevent作为用户请求的事件处理机制,可以支持大并发访问需求。请求处理模块的实现基于缓存代理magent,其中负载均衡子模块设计采用一致性hash算法作为负载均衡算法处理用户的访问请求,可将用户的请求均匀的分摊至集群中的服务器,实现了PRCACHE的负载均衡。缓存备份子模块设计时将服务器集群划分为master集群和backup集群,主备集群之间始终保持相同的缓存数据,备集群将在主集群中服务器出现故障时提供缓存服务,保证了PRCACHE的高可用性。数据存储子模块负责用户数据的实际存储工作,采用了slab allocator内存管理机制进行内存的分配和回收。缓存同步子模块是在memcached的源码基础上通过添加改进代码而实现的,改进后的memcached服务进程使原本不进行相互通信的memcached做到了同步通信,实现了集群中服务器一主一从的master/slave同步功能,缓存同步解决了集群中由于意外导致主备集群之间数据不一致的问题,提升了PRCACHE的高可用性。最后,本文对PRCACHE系统和传统memcached部署进行了对比测试,测试结果表明PRCACHE缓存系统具备了高可用性,且在大规模并发环境下运行良好,做到了负载均衡。
【关键词】:云计算 内存缓存 memcached 高可用性
【学位授予单位】:电子科技大学
【学位级别】:硕士
【学位授予年份】:2016
【分类号】:TP333
【目录】:
- 摘要5-6
- ABSTRACT6-10
- 第一章 绪论10-14
- 1.1 课题研究背景10-11
- 1.2 国内外研究现状11-12
- 1.3 课题研究内容12-13
- 1.4 论文的结构安排13-14
- 第二章 相关技术研究分析14-23
- 2.1 云计算服务模式14-15
- 2.2 缓存相关技术15-20
- 2.2.1 缓存技术原理15-16
- 2.2.2 缓存产品16-20
- 2.3 缓存代理20-22
- 2.3.1 Magent20
- 2.3.2 Moxi20-21
- 2.3.3 Twemproxy21-22
- 2.4 本章小结22-23
- 第三章 云计算平台中内存缓存系统的分析及设计23-49
- 3.1 PRCACHE缓存系统的需求分析23-25
- 3.2 PRCACHE缓存系统的系统架构25-27
- 3.3 PRCACHE缓存系统网络接口模块的设计27-32
- 3.3.1 I/O模型的对比选择28-30
- 3.3.2 I/O请求处理流程设计30-32
- 3.4 PRCACHE缓存系统请求处理模块的设计32-41
- 3.4.1 负载均衡子模块的设计32-39
- 3.4.2 缓存备份子模块的设计39-41
- 3.5 PRCACHE缓存系统存储处理模块的设计41-48
- 3.5.1 数据存储子模块的设计42-46
- 3.5.2 缓存同步子模块的设计46-48
- 3.6 本章小结48-49
- 第四章 云计算平台中内存缓存系统的实现49-64
- 4.1 PRCACHE缓存系统网络接口模块的实现49-52
- 4.1.1 libevent的部署49
- 4.1.2 模块服务的具体实现49-52
- 4.2 PRCACHE缓存系统请求处理模块的实现52-56
- 4.2.1 负载均衡子模块的实现52-54
- 4.2.2 缓存备份子模块的实现54-56
- 4.3 PRCACHE缓存系统存储处理模块的实现56-63
- 4.3.1 数据存储子模块的实现56-62
- 4.3.2 缓存同步子模块的实现62-63
- 4.4 本章小结63-64
- 第五章 系统测试及分析64-77
- 5.1 测试目标64
- 5.2 测试环境64-66
- 5.2.1 测试环境配置64-65
- 5.2.2 测试环境搭建65-66
- 5.3 测试结果及分析66-75
- 5.3.1 功能测试66-72
- 5.3.2 性能测试72-75
- 5.4 本章小结75-77
- 第六章 总结与展望77-79
- 6.1 全文的主要工作77-78
- 6.2 后续工作展望78-79
- 致谢79-80
- 参考文献80-83
【相似文献】
中国期刊全文数据库 前10条
1 ;云计算下的互联网信息汇聚和热点缓存系统[J];软件和信息服务;2011年06期
2 ;2011年5款备受关注的开源NoSQL数据库[J];硅谷;2012年01期
3 林信达;柏林;;利用缓存系统提升宽带用户体验[J];电信技术;2011年12期
4 王侃;陈志奎;;面向存储服务的分布式缓存系统研究[J];计算机工程;2010年15期
5 王必尧;王劲林;吴刚;刘学;;一种应用于分布式缓存系统中的缓存部署算法[J];小型微型计算机系统;2012年08期
6 韩向春;郭婷婷;林星宇;丰保杰;;集群缓存系统中代理缓存技术的研究[J];计算机工程与设计;2006年20期
7 崔大海;曹炳尧;;顺序流媒体缓存系统的设计与实现[J];电子测量技术;2012年10期
8 陈森利;吴福疆;林洪浩;李楠;;电力计量采集系统中分布式缓存系统研究[J];信息技术;2014年07期
9 祁晖;刘衍珩;曲良东;魏达;;车载中心式导航系统中缓存系统的设计与实现[J];吉林大学学报(工学版);2012年03期
10 黄曼萍;80386高性能超高速缓存系统[J];航空电子技术;1993年03期
中国重要报纸全文数据库 前1条
1 ;XceL4加速缓存系统[N];计算机世界;2002年
中国博士学位论文全文数据库 前2条
1 房振满;多核缓存系统优化及评测研究[D];复旦大学;2014年
2 姚士佳;视频分发与缓存协同优化技术研究[D];中国科学技术大学;2014年
中国硕士学位论文全文数据库 前10条
1 闫林;基于SSD的HDD缓存系统研究[D];西安电子科技大学;2014年
2 沈伟;云计算平台下分布式缓存系统的性能优化研究[D];西安电子科技大学;2014年
3 沈之强;云存储系统中的网络缓存关键技术研究[D];杭州电子科技大学;2015年
4 金冉冉;云计算平台中内存缓存系统的设计与实现[D];电子科技大学;2016年
5 张勇;WebCache技术研究及应用[D];西安科技大学;2015年
6 孙赫;大规模协同计算平台下缓存层的研究与优化[D];西安电子科技大学;2015年
7 兰向宇;基于FPGA的数据压缩缓存系统研究[D];西安电子科技大学;2015年
8 陈涛;基于内存的分布式缓存系统设计[D];华中师范大学;2012年
9 郑伟;基于云计算的分布式缓存系统的研究和实现[D];重庆大学;2012年
10 申彤;云存储网关的分布式缓存系统的研究与实现[D];国防科学技术大学;2012年
,本文编号:1114879
本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/1114879.html