zoukankan      html  css  js  c++  java
  • 从腾讯云迁移到腾讯云,开心消消乐的云端迁移战事

    这是一段彼此成就,相互欣赏,最后双向奔赴的故事。

    再没有比一段跨越时空,经历世事蹉跎,最后仍然觉得“有你真好”更刻骨铭心的了。

    没错,我们今天讲述的就是腾讯云和乐元素之间的一段“十年感情史”。

    云计算初体验

    提到乐元素,听过的人可能不多,但是说到开心消消乐,估计无人不知无人不晓。作为一款深受玩家喜欢的国民游戏,开心消消乐自2014年初上线移动版至今,已经多次获得App Store及各大安卓平台精选推荐,下载用户量超8亿,并始终稳固在中国iOS游戏榜单TOP20内。

    乐元素作为其母公司,从2009年创立至今,在全球社交游戏圈已经有了不小的名气。在乐元素发展的过程中,从一开始就与腾讯云结缘,并保持了长期的合作伙伴关系。

    那时腾讯云还不叫腾讯云,那时“初出茅庐”的腾讯云还叫腾讯开放平台。

    “乐元素从PC到移动互联网时代的成长与腾讯开放平台的帮助密不可分。腾讯开放平台拥有PC+移动整体的服务体系,能够帮助开发者降低用户获取成本、运营成本,获得盈利能力,因此腾讯开放平台是一个非常适合创业者成长的地方。”业内人士表示。

    在合作的初期,主要还是以网页游戏、社交游戏为主,其中《开心泡泡猫》在PC平台的最高峰值用户数曾一度飙升至4700万。随着移动互联网的浪潮,乐元素意识到移动端的重要性,开始尝试页游和手游的跨屏融合,《开心消消乐》就是其中的典型代表。

    虽然强大的社交关系链以及微下载能力,对于《开心消消乐》的快速发展起到了重要的作用,但是,基于腾讯开放平台的低成本获取用户,降低用户成本等方面也是功不可没,而这恰恰是一款游戏早期爆发的关键。

    在2014年那个移动游戏大行其道的时代,无数一度声名鹊起的手游都很快就被类似的游戏所替代。但是《开心消消乐》作为一款后劲十足的游戏,之所以能将用户留住,并吸引大量新玩家加入,主要在于能从竞争产品中脱颖而出的关卡设计、画面特效,以及流畅的玩家体验。

    其中流畅的用户体验最为关键。

    而为了让游戏的体验更好,游戏厂商往往不会选择从零开始自己开建各种加速节点,他们更倾向于选择云厂商已经建设好的“过山隧道”。因此高带宽、多地多节点部署、可实现跨网络的CDN就成了一款成功手游的标配。

    这一点,以《开心消消乐》所采用的腾讯云CDN为例,依托QQ、微信、QQ空间、腾讯视频等业务的积累,已陆续建成的分布各地的自建节点、支撑起上述业务每天超过十亿级用户的加速服务。

    据透露,在早期,开心消消乐在CDN上的压缩后带宽峰值依然近百G,与那时的QQ农场数据顶峰相近,但经过流量压缩、灵活计费,整体CDN费用下降达80%。

    尝到甜头的乐元素决定全面上云。从2015年2月开始,从最初的单纯使用云服务器,到现在数据库、存储、网络、安全等,乐元素基本实现全云化服务。

    关系升级

    时间来到了2021年。

    就这样,一款在当初被称为现象级的三消游戏,不知不觉已经火了超过7年。

    再先进的技术架构在时间面前也不值一提。

    虽然《开心消消乐》一开始部署在腾讯云OPEN区(腾讯开放平台时的数据中心)的业务架构为2015年最优的技术架构,但随着技术发展该架构出现大量维护难点,如:数据库版本低、云服务器使用本地盘、支付业务因人员变动无人了解业务接口情况等。

    从业务的角度来说,时移世易,现在的游戏用户对体验,时延以及特效等的要求,已经不是7年前可比,而这亟需对原来的老旧技术架构做全面的升级。

    业务的迫切需求倒逼腾讯云和乐元素技术*队一起在思考,如何用更好的技术架构来服务开心消消乐业务的继续发展。

    从腾讯云迁移到腾讯云成为当时可行的选项,也就是从原来的老旧的OPEN区,迁移到拥有全新技术架构的广州七区。

    不难理解,因为开心消消乐在发展,腾讯云这些年也在发展,而且服务的客户类型也从最初的游戏发展到各行各业。经过数以万计客户的打磨,腾讯云在服务包括游戏行业在内,已经积累了广泛的经验,并在技术架构层面,也做了全面的演进,而广州七区就是一个理想的选项。

    但是,即便是同一个云内的迁移,难度也不小。

    首先,腾讯云OPEN区为业务发展前期独立的地域,网络架构复杂,《开心消消乐》在OPEN区基础网络内,同腾讯云当前广州地域VPC内机器内网互通难度大。

    其次,业务迁移需要不停服的情况下进行,同时需要保证迁移过程中数据一致性、可用性等问题,这些限制条件给迁移工作带来极大的难度。

    这其中,尤以数据库的迁移难度最大。

    据乐元素内部人员介绍,消消乐项目早期用的是腾讯云自研Memcached数据库作为主存储,随着数据量的爆发式增长,内存数据库已无法完全满足业务需求,在降成本和数据库生态的多重考虑下,最终决定将消消乐项目迁移至云数据库Tendis。Tendis是腾讯云自研、完全兼容Redis协议的高性能分布式数据库,其中冷热数据分级存储功能,可完美平衡性能与成本的冲突。

    尽管Tendis为客户带来了诸多收益,但还需面对异构数据库带来的命令兼容性和幂等问题,为了尽可能降低客户的应用改造成本,腾讯云数据库*队*专人为乐元素提供命令兼容性的改写方案,并在迁移流程中规避数据写入的幂等问题。最终协助客户顺利完成PC业务和应用宝业务的数据迁移。

    此外,还要考虑海量数据校验如何做到不影响客户线上业务。

    乐元素消消乐业务总共需要迁移30 TB+数据,并且是从Memcached协议迁移到兼容Redis协议的云数据库Tendis,除开异构数据库不停服的迁移挑战外,还有就是接近4千亿Key的数据校验难题。

    顶着客户业务可用性优先的压力,在进行海量数据一致性校验时,腾讯云专门为消消乐项目开发了一套数据校验平台,支持实时探测业务主库的性能负载,并能精确的控制数据校验任务的性能消耗。一旦主库性能超过恒定利用率的10%,数据校验平台将动态调整数据校验的并发数,最终在不影响业务性能的前提下,顺利完成了海量数据的校验工作。

    双向奔赴

    从腾讯开放平台到腾讯云,名字虽然有了变化,但不变的永远是对于用户的重视。

    从乐元素和腾讯云合作至今,已经跨越十多年,当初的腾讯云已经成长为国内领先的云厂商,而乐元素也已经从一个年轻的初创*队,成长为一家知名的游戏公司。

    但这段彼此成就,双向奔赴,注重长期主义的两家公司,无疑在云计算领域成就一段佳话。

    对于乐元素:通过使用云服务,不仅让消消乐等游戏的获取用户成本大幅降低,同时,开发运营等服务成本也全面下降。

    比如,将原来的机型升级 S1 机型升级为 SA2/SA3, 升级换代后的服务器性价比更高,单机能力和容量大幅提升, 机器成本也大幅降低,同时,机器隔离性和可靠性更高。

    另外,将CMEM 迁移到 Tendis,存储系统不仅稳定性大幅提升, 运维人力成本大幅降低, 去除了衰退期产品造成的系统风险,冷热分离架构,成本缩减 30% 以上。

    对于腾讯云来说,从2009年服务乐元素开始,不仅从它身上了解到游戏行业的用户诉求,还有效磨练了云计算产品和解决方案,为服务更多行业用户提供极具价值的一线经验。

    有细心的同事做了统计,这个项目共历时107天,腾讯云TAM*队共计沟通拜访20+次,变更节点驻场保障4次,解决项目中问题30+例,减少本地盘老机型机器129台,占本地盘老机型机器总量的20%。

    截至目前,开心消消乐PC业务+手游联运业务已经全量运行在资源保障度较高的广州七区。

    数据不惊艳,甚至有些琐碎,但正是这一串串微小的数据,让持续了十年的“感情”更加真实,也让每一次的云端迁移赋予了一个时代的烙印。

  • 相关阅读:
    CodeForces 7B
    CodeForces 4D
    离散化
    线段树入门
    洛谷 P3951 小凯的疑惑(赛瓦维斯特定理)
    Codeforces 1295D Same GCDs (欧拉函数)
    Codeforces 1295C Obtain The String (二分)
    Codeforces 1295B Infinite Prefixes
    Codeforces 1295A Display The Number(思维)
    Codeforces 1294F Three Paths on a Tree(树的直径,思维)
  • 原文地址:https://www.cnblogs.com/ccloud/p/15737299.html
Copyright © 2011-2022 走看看