大规模游戏平台云缓存技术研究与实践
在数据呈爆炸性增长的时代,云计算与大数据技术的重要性不言而喻,对海量数据的挖掘、分析与应用已成热点。本次专题在着重探讨电信运营商该如何发掘大数据价值、拓展新型增值业务的基础上,亦提出了大数据在金融、旅游等领域的具体应用。此外,有关云缓存技术、大数据融合建设的研究在专题中也有所体现,希望通过本次专题为云计算与大数据的发展提供一些思路与建议。
【摘要】传统的缓存处理机制难以满足互联网业务高并发、高性能的需求,因此提出了动静结合的多级云缓存架构,可支持大规模数据存储和快速检索查询服务,并基于一致性哈希算法,实现了对多分布式服务节点的统一管理和调度效率提升,最后通过在大规模游戏业务平台开展的实践,验证了平台性能和访问速度的大幅提升。
【关键词】大规模游戏平台云缓存数据存储
中图分类号:TP399文献标识码:A文章编号:10061010(2016)05000505
1引言
近年来,以游戏、视频为代表的移动互联网应用高速发展。与传统电信应用相比,大型移动互联网应用具有以下特点:
(1)高并发、大流量:数以亿计规模的高并发用户,长时间的大流量访问;
(2)海量数据:存储、管理海量数据,需要使用大量服务器;
(3)用户接入环境复杂:面向全球用户提供服务,用户网络环境千差万别;
(4)短时间用户增长迅速,急需大量资源;
(5)产品复杂多样,需求快速变更。
为了满足多网络用户快速接入需求,提升用户体验,传统电信业务平台多采用内容分发(CDN,ContentDeliveryNetwork)缓存机制。但动态缓存数据管理较为复杂,缺乏灵活性,无法满足快速增长和超高的游戏业务峰值并发服务需求。
基于此,本文接下来将提出动静结合的多级云缓存框架,以适应大规模移动互联网业务平台的承载需求。在传统CDN文件缓存基础上引入Varnish静态缓存、基于MAP的本地动态缓存和Redis远程动态缓存,构建多级云缓存,并通过实践证明其实现了高性能IO吞吐能力,减少了服务器和核心数据库的交互次数,提高了接口访问速度和并发量。同时将缓存处理逻辑封装,面向应用层业务需求统一开放接口,提高了上层应用开发效率。
2动静结合的云缓存架构
常见的互联网业务多采用分布式的内容分发缓存机制。在中国电信、中国移动、中国联通网络中部署服务器节点,以某一节点为中心,实现多节点间的数据共享和同步。不同网络的用户可以就近接入CDN节点,快速、高效地获取应用内容。基于CDN机制的缓存架构图如图1所示:
在实际业务运营中,传统的CDN缓存机制对动态缓存数据管理较为复杂,缺乏灵活性。尤其是新业务上线时,需要大量人力检查并修改缓存文件,给业务快速部署和服务灵活提供带来了严重的挑战。
针对上述问题,本文提出了动静结合的云缓存架构,以满足高并发的移动互联网业务承载需求。该架构具备横向扩展能力,相对上层业务系统透明,可根据业务的发展,平滑扩展存储性能与容量,动态满足业务需求,有效地提升系统资源利用率。系统架构如图2所示:
中心数据库采用关系型数据库MySQL和非关系型数据库MongoDB。本地动态缓存采用MAP内存处理技术,远程动态缓存采用Redis技术;本地缓存和远程缓存之间通过事件驱动模型实时更新和维护数据;采用XML标记语言,以标准格式封装缓存处理逻辑以及各种查询、数据同步、容灾备份等统一数据服务的业务逻辑,并以Java接口方式封装成API,提供给相关业务统一调用。各种业务调用缓存机制后,输出结果采用静态缓存Varnish技术进行加速,以提升效率。
通过对缓存处理逻辑的封装,为应用业务层提供了统一的存储访问接口,使开发人员从繁杂的缓存维护同步工作中解脱出来,专注于业务开发,从而提高了开发效率,减少了由于缓存数据维护不一致而导致的系统漏洞和缺陷,提升了系统稳定性。
3关键技术方案
3。1静态缓存和动态缓存机制
在静态缓存方面,采用高性能的开源HTTP加速器Varnish技术,缓存静态页面和一些重要业务的静态数据。Varnish基于内存进行缓存,性能好,单台服务并发可达到5000次s。采用反向代理Web容器定期维护缓存数据。当Tomcat服务器出现故障时,可自动切换到Varnish,提高了平台的稳定性。
在本地动态缓存方面,将用户访问频繁的静态数据备份到本地基于MAP的内存缓存中,以减少网络IO的消耗,提高平台的并发量。
本地缓存中各集群节点的数据维护采用组播技术实现。所有节点均为对等模式,节点自动发现,不存在主节点选举。每个节点都维护一份集群成员表,新节点加入时,通知集群其他成员更新成员列表,以便每个节点都能及时更新成员列表。如图3所示,节点1、节点2、节点3分别维护一份成员列表,定期通过组播更新自己节点消息,当节点4新加入集群组时,向节点1、节点2和节点3组播自身的节点消息,节点1、节点2和节点3接收到该信息后,将节点4加入到其成员列表中。同时,节点1、节点2和节点3也不断向集群发送其节点消息,节点4接收后将依次更新成员列表信息,最终达到四个节点均拥有四个节点成员信息。当任意机器数据发生变更时,则将变更数据发送给其他机器,保证各机器数据的一致性。
远程动态缓存采用Redis技术。与Memcached类似,Redis是一个keyvalue存储系统,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sortedset:有序集合)和Hash(哈希类型)等。
游戏业务实践中,Redis缓存采用主从读写分离技术。在大并发业务需求(如游戏APP集中下载、活动集中参与等)时,使用多台服务器作为Redis服务器,并采用多级服务器集群架构和主从模式对服务器设备进行管理。设定一个主服务器负责数据写入,多台从服务器负责数据读取。主服务器和从服务器之间通过Redisserver端实现数据同步。各Redis服务器也采用分布式,Redis客户端负责选择连接到哪台服务器,无需人工干预。通过分级动态缓存技术,极大提升了平台的服务能力。游戏业务单台服务器并发可达到7000次s,命中率可达90以上。
3。2本地缓存与远程缓存机制
本地缓存保存一些常用的基本数据和少量列表信息,以减少调用远程缓存服务器及数据库的压力。同时为了控制内存的占用量,在处理之前需要评估缓存信息大小。当缓存的信息总量超过预设的内存大小时,使用近期最少使用(LRU,LeastRecentlyUsed)算法,对内存中缓存的信息进行替换。目前仅这一层的访问命中率可高达90以上,保证了接口的整体访问速度在200ms以内。
远程缓存主要用来保存数据库各表之间的对应关系,以代替传统的数据库查询功能,实现业务快速查询和处理响应。
为了实现缓存处理逻辑层的统一封装,需要将多台机器的缓存信息同步,实现本地缓存与远程缓存之间的信息更新。在游戏业务实践中,通过事件驱动模型实时更新维护缓存数据。具体实现过程如图4所示。
数据查询采用本地缓存、远程缓存、核心层本地缓存、核心层远程缓存、数据库的查询流程。在远程缓存没有命中时,将查询中心数据库,查询结果将保存在本地缓存和远程缓存中。在数据保存在本地缓存后,将以异步的方式发送给其它节点机器实现同步。
采用了创新的云缓存框架后,平台业务应用接口最高不超过300ms,90在100ms以内,缓存刷新延迟不超过500ms。
3。3改进型的一致性哈希映射算法
普通的Hash方法在数据缓存处理时存在问题。例如,以keyN的方式将数据映射到具体的服务器物理节点上,其中key是数据的key,N是服务器节点数。如果有一个机器加入或退出这个集群,每一个服务器缓存节点都必须进行数据迁移,数据的缓存命中率将大幅降低。
本文采用改进型的一致性哈希算法,以降低缓存节点变化对缓存命中率的影响。如图5所示,实际部署4个物理节点,将数据按照key的哈希值分布到100个虚拟节点上,以NHash(key)100的方式计算分配每个物理节点,配置Hash值权重。N为019时,则数据落到Node1节点上;N为2039时,则数据落到Node2节点上;N为4059时,则数据落到Node3节点上;N为6099时,则数据落到Node4节点上。
如图6所示,如果Node4节点负载过大,则添加Node5节点,调整中只会影响Node4节点的缓存命中率,从而实现缓存节点平滑地添加与删除。
4应用效果
本文的研究成果在中国电信爱游戏业务平台中开展了应用实践。
在未采用云缓存机制前,爱游戏业务采用互联网传统处理机制,利用关系型数据库保存业务的基础数据、用户访问日志以及经营分析数据等。在实际业务运营中,该架构无法满足高并发、高性能要求。以用户下载为例,缓存的命中率较低(仅为30),实测的平均下载速度小于100kbs,请求返回延时较大,特别是在服务高峰期,经常出现服务超时、连接不成功等问题,用户体验较差,流失率增高。
在采用本文提出的云缓存架构进行平台升级后,静态缓存命中率达95,动态数据缓存命中率达90,中心数据库仅需处理其中5的业务量。中心数据库无需直接面对用户请求,服务能力提升了200倍,大幅提高了整个系统的吞吐量。对于一个复杂的列表页面请求,原机制下响应时间需800ms左右。升级后命中一级缓存(静态页面),响应时间不到10ms,加快了数据访问速度,提升了用户体验。
5结束语
随着移动互联网业务的快速增长,迫切需要使用缓存技术优化提升平台性能。本文利用Varnish、Redis等开源互联网技术,构建了动态缓存和静态缓存相结合、本地缓存和远端缓存相结合的多级云缓存体系,可大幅提升业务平台承载能力,满足海量数据存储和用户高并发量访问的需求。研究成果已应用于爱游戏平台优化升级,提高了缓存命中率、减少了中心数据库的IO访问压力、降低了用户的访问时间、提升了用户体验。
参考文献:
〔1〕邱祝文。基于redis的分布式缓存系统架构研究〔J〕。网络安全技术与应用,2014(10):52。
〔2〕王心妍。Memcached和Redis在高速缓存方面的应用〔J〕。无线互联科技,2012(9):89。
〔3〕曾泉匀。基于Redis的分布式消息服务的设计与实现〔D〕。北京:北京邮电大学,2014。
〔4〕秦秀磊,张文博,魏峻,等。云计算环境下分布式缓存技术的现状与挑战〔J〕。软件学报,2013,24(1):5066。
〔5〕贺琛,陈肇雄,黄河燕,等。Web缓存技术综述〔J〕。小型微型计算机系统,2004,25(5):836842。
〔6〕赵玉伟,赵小雨,乔木,等。缓存技术在BS架构信息系统中的应用〔J〕。计算机工程,2008,34(1):233235。
〔7〕杨传栋,余镇危,王行刚,等。一种流媒体CDN的内容部分推送策略〔J〕。计算机工程与应用,2007,43(25):162164。
〔8〕周江。面向大数据分析的分布式文件系统关键技术〔J〕。计算机研究与发展,2014(2):382394。
〔9〕戴伟,胡鹏。基于缓存回收的成本节约云服务算法研究〔J〕。计算机应用研究,2015,32(10):31383141。
〔10〕方晖。基于能效控制的DctAF框架式云缓存技术〔J〕。科技通报,2014(2):7779。
疲劳计算报告论文篇一计算分析报告模板有限公司技术报告TECHNICALREPORTOF计算分析报告有限公司年月目录1项目来源42设计
加快生态农业建设建议思考论文生态农业是转变农业发展方式提高农业综合生产能力的有效选择。当今,在国内生态资源环境约束愈来愈凸显的背景下,探索发展现代生态农业的路径及相关政策,具有重要的战略意义。一我国生态农业发
浅谈微博在高校体育教学过程中的交互作用论文论文摘要针对微博的特点分析,阐述了体育教学中对师生交互作用方面存在的问题,并探讨了体育教学中教师运用新兴信息技术手段的方法,将微博带入到其教学环境中,实现微博与课堂教学的结合,以期
以母爱为主题的议论文母爱是一杯浓浓的香茶,饥渴时给我们带来芳香母爱是一加光十色的彩虹,失落时给我们带来希望母爱是一轮火红的太阳,寒冷时给我们带来温暖。下面一起随小编来欣赏关于母爱的议论文作文吧。母爱作
论文临界常见保费效用函数论文关键词效用函数临界保费理赔论文摘要根据保险人保险定价的效用方程,分别讨论了在3种不同效用函数下的临界保费。从管理决策的角度看,保险产品的定价问题准备金提留问题再保险自留额问题以
信阳毛尖网络营销存在的不足及应对措施论文1信阳毛尖网络营销存在的问题分析随着我国通信技术的飞速发展,企业进入网络营销时代。但作为河南本土品牌的信阳毛尖其销售仍依赖传统营销模式,没有很好地利用网络进行扩展和强化。首先,信阳
企业财务管理分析与探讨论文摘要随着我国以市场经济作为资源配置的主体以来,社会主义经济取得突飞猛进的发展,现代企业管理制度也广泛运用到我国国有企业中。企业的财务管理对企业的经营成果与企业的运营现状有至关重要的
网络维护论文怎样才能写好网络维护论文?这就需要大家的不断地积累知识了!以下是网络维护论文,欢迎阅览!网络维护论文一浅谈计算机网络的故障及维护摘要目前计算机网络已经在社会上广泛流行,这是计算机发
关于汽轮机新技术的论文使用汽轮机设备时,在对汽轮机设备进行检测的过程中,通常会使用到仪表,以确保汽轮机设备的正常运行。在工业生产中,为了保证汽轮机设备能够充分发挥功能,必须重视仪表的调试以及安装工作。本
行政法的基本原则论文导语行政法基本原则是指导和规范行政法的立法执法以及指导规范行政行为的实施和行政争议的处理的基础性法则,是贯穿于行政法具体规范之中,同时又高于行政法具体规范体现行政法基本价值观念的准
浅析关于高职教学中学生学习主动性的培养教育论文关键字高职教学学生主动性问题和现状措施和对策研究摘要培养学生学习的主动性不仅有利于提高学生的学习成绩,而且成为其终身奋斗和发展的前提基础。但是在我国高职教育的发展进程中,高职学生往
论做好配网自动化建设的必要性摘要随着国民经济的飞速发展和人民生活水平的提高,对供电质量和可靠性也提出了更高的要求。大规模的两网改造结束以后,配电网的布局得到了优化,但要进一步提高配电网的可靠性,还必须全面实现
变电站综合自动化改造工程实践论文摘要最近几年,国家电网正处于变电站综合自动化改造工程的密集阶段,结合阜阳供电公司在变电站综自改造工作中继电保护专业的经验和体会,同大家一起探讨,同时提出继电保护专业在改造工程中
自动化生产线干扰故障的分析与探讨1前言首先将自动系统的辅助设备按产品的生产顺序组合,然后以一定的节拍完成生产。物品由一端不断送入,生产材料在相应工位加工,经过各操作单元的加工后,产品从末端输出,这种生产设备的组合
论小型图书馆自动化建设摘要文章分析了小型图书馆在自动化建设方面的一些不利因素,并对小型图书馆自动化建设应采取的对策进行了阐述。关键词小型图书馆图书馆自动化对策研究随着计算机技术通讯技术网络技术的飞速发展
对基础地理信息系统建设的构思摘要测绘工作是为国民经济建设服务的一项基础性前期性和公益性的工作。测绘技术的发展,给测绘管理工作提出了新的课题。传统的测绘管理方法(包括行业管理技术管理生产管理测绘资料管理及对外提
强化电气工程管制的重要性由建设单位按照设计图纸要求进行定货,建设单位的管理人员要认真选择型号厂家,把握好设备质量。对现场所用的设备和材料进行严格检验,包括从外观性能构成部件等全方位的检验。同时,对于设备和
对电气工程及其自动化发展问题研究一电气工程及其自动化的发展中的问题迈入21世纪以来,电气工程及其自动化的技术取得了突飞猛进的发展。但在电气工程及其自动化的发展与建设中还存在一些客观影响因素,这些因素在一定程度上阻
议电气工程的电气火灾预防一电气火灾的分类与影响因素1。电气火灾事故的种类是比较多的,比较常见的有线路过载电流泄漏电气短路等。电气短路事故分为两个部分,分别是金属性短路与电弧性短路,前者具备较大的短路电流,
电气工程电气技术的发展一关于电气工程技术发展环节分析随着计算机网络系统的健全,电气工程应用技术也在不断深化,其现代电气工程系统逐渐健全,满足了时代经济对于电气工程技术的发展需要,电气工程的发展,离不开对
电气工程的节能设计1。减少电能在线路上的传输损耗2。无功补偿3。滤波器整个电力系统在运行过程中由于电气设备数量的不断增多,会产生大量的谐波电流,当这些谐波电流产生的电压与正常电压相遇后就会产生电压畸
论全封闭制冷压缩机的发展趋势摘要详细介绍了全封闭制冷压缩机的发展趋势和前景。引用大量的数据证明各种压缩机的发展空间和必然性。从而为各行业使用制冷压缩机提供了可靠的数据和指导说明。关键词电磁振动式压缩机电动式压