当前位置:科技 > 业界 > 互联网络 > 正文

腾讯互娱DBA谈分布式存储在游戏的实践(1)

2016-04-18 19:30:00    IT168  参与评论()人

  【IT168评论】游戏云存储GCS是互娱运营部沉淀多年的贴合游戏生命周期的数据存储及“一站式”管理平台, 它提供了数据缓存层及持久化层的技术解决方案,帮助业务快速接入的同时降低存储成本,减少硬件故障及常规DB维护导致的停机时间,助力公司游戏业务长期发展。

  在PC端游戏时代,GCS主要解决DB管理效率和成本问题,我们从mysql源码层面做了很多定制化的功能特性,以适应游戏快速迭代的需要:譬如TMySQL快速加字段特性实现100GB级甚至TB级表的秒级增加新字段;innodb表大字段透明压缩特性实现减少innodb内存和磁盘空间 的占用,以CPU换MEM及IO,进而提升mysql整体吞吐能力。

  在移动游戏时代,特别是腾讯手游精品2.0战略的推进,对DB运维管理提出了更高的挑战:如 何实现在不停机情况下,进行用户体验无感知的存储层扩容、缩容,用户数据在线搬迁?互娱DBA团队在2013年底开始探索分布式存储领域,目前GCS包含了TRedis高性能缓存及持久化和TSpider分布式数据库两个产品线。研发也不再需要关注用户数据的切片路由逻辑,至今我们在线上做过了20 次不停机的扩容缩容的调度,存储层的扩容、缩容过程实现了对研发、运维、玩家的基本透明。

  GCS-TRedis高性能缓存及持久化

  随着手游市场这两年爆发,腾讯游戏尤其是代理业务较多的使用Redis作为数据Cache层。移动时代,游戏上线,贵在神速。Redis本身性能已经足够好,但是在海量用户场景下,其单线程的性能还是难以支持,在容量快速增长的情况下,管理和扩容也面临极大的挑战。因此,我们决定基于Redis定制TRedis,以满足快速上线和快速扩缩容的需要,并兼顾成本和效率。

  单个Redis管理内存数量有限,为了提供给业务大量数据存储及访问的支持,我们定制了基于Twemproxy的TRedis集群方案,让业务可以不用关心Redis的存储及容量上的扩展能力,专注 于业务逻辑。TRedis集群方案的源码定制改造涉及Redis及Twemproxy,改造后的集群方案实现了Redis故障切换(基于GCS的DBHA)、在线迁移及在线扩缩容,业务访问基本无感知, 连接不中断。

  此外,手游生命周期相对较短,上线后头几个月快速爆发,稳定期后活跃玩家比例逐步下降, 对应到Cache层就是缓存的内容没变少,但访问量会减少很多。此时,如果数据还全在内存里边,在成本上来讲并不划算。因此我们设计了TRedis集群的冷热分离方案,使用rocksdb作为落盘存储,让内存只保留少量热点的数据,提升了数据安全性的同时可以让Redis管理的数据远超过内存的容量。目前现网单集群存储数据超过10T,访问性能稳定。

  GCS-TSpider分布式关系型数据库

  腾讯互娱运营着数百款游戏,包括端游、页游和手游,其中大部分使用MySQL作为存储。随着游戏玩法的轻量化,尤其是手游的爆发,传统的MySQL Master-Slave(简称MySQL M-S架 构)存储方式逐步暴露出了如下问题:

  1 分区分服的游戏,不同区服玩家活跃度不一致,单服对应后端MySQL M-S架构的部署 策略在资源调度上不够灵活,容易造成资源压力不够均摊,形成浪费;

  2 全区全服的游戏,研发须根据DB的存储能力和业务特性进行分库分表,存储层分表和 业务逻辑耦合太强;

  3 无有效的在线扩缩容机制,存储层扩容、缩容需协调业务停机后再进行操作;

  而TSpider是突破了MySQL的单机性能及容量瓶颈的MySQL分布式解决方案,弹性可扩展。TSpider是基于开源的Spider3.1版本进行源码定制的,并建设了完整的配套管理系统,其主要特点包括:

 

社会文史娱乐汽车科技旅游城市文化

新闻 军事 论坛 娱乐

新闻频道
国内国际社会评论文史专题经济新闻图库老照片
军事频道
军事要闻中国军情国际军情军事历史网友原创军事专题军事图库武器装备军事文化
汽车频道
车闻Update漫话车型漫记车映像实拍解析行业动态新车资讯独家评测汽车生活人文之旅
教育频道
留学移民高考中小学拒讲堂师说商道商论
游戏频道
游点意思网络游戏网页游戏单机游戏手机游戏军事游戏游戏产业发号中心游戏美女图说游戏囧游囧事
科技频道
业界互联网行业通信数码手机平板IT硬件相机笔记本家电产品库
旅游频道
X旅行视界目的地 美图发现社区
文化频道
专题非遗沙龙历史艺文博览读书图库书画禅文化
书画频道
资讯收藏展览在线展厅艺术家视觉专题
体育频道
国际足球中国足球NBACBA 综合体育图片汇总专题策划
视频频道
新闻军事中华出品原创娱乐纪录片微电影决胜海陆空
娱乐频道
明星电影电视音乐专题图库论坛
公益频道
老兵出镜老兵动态老兵资料库关爱老兵在行动公益组织公益人物
城市频道
城市聚焦城市设计城市生活城市策划城 市图赏城市加盟城市论坛
社区频道
中华论坛网上谈兵中华拍客社会时政国际风云生活消费休闲旅游美丽女人娱乐八卦经济风云情感世界文学天地
好医生频道
保健养生疾病防治行业资讯名医谈健康 医生专栏食疗跑步
经济频道
国内宏观海外经济产经商贸时尚消费电商眼球儿企业故事专栏评说识局经济