龙空技术网

来看看三亿人用的APP做数据库迁移需要分几步走

恒云联盟 92

前言:

而今兄弟们对“万年历 数据库”大体比较重视,朋友们都想要了解一些“万年历 数据库”的相关资讯。那么小编也在网上网罗了一些对于“万年历 数据库””的相关内容,希望看官们能喜欢,姐妹们快快来学习一下吧!

随着科技的进步,手机日历已融入到了我们的生活中,但已不单单是记录时间,它可以预报天气,提前预知温度变化;可以日程提醒,让工作和生活有条不紊;可以休闲阅读,让身心随时放松......

这些都在中华万年历APP中得到了淋漓尽致的体现,一款日历软件,连接起了悠悠的时间和趣事,成为了3亿人的共同选择。

如果说中华万年历能让我们在生活中更便捷地规划时间,那么微鲤看看APP则让我们在时间的缓缓流逝中再一次爱上生活。

作为一款创新型资讯社区APP,微鲤看看让我们有足不出户就可以看世界的机会,养生、音乐、美食等几十类资讯无所不有,社区互动带来更多志同道合的伙伴,让每个人在匆忙中享受当下生活,让时间过得慢一些,有趣一些。

赶上云原生的早班车

也渴望新技术的更新换代

让时光充满乐趣,是微鲤一直在做的事情。

作为一家移动互联网公司,微鲤一直专注于时间管理和软件开发,中华万年历和微鲤看看作为其旗下的知名APP,月活数千万,在业内影响力极大。

随着云原生时代的演进,微鲤赶上了这趟早班车,成为最早一批的云原生使用者,在数字化变革的红利之下,用户数快速增长,仅中华万年历一款APP的累计用户截至目前已经突破3亿。

业务量在日渐增长,一些问题也随之而来

中华万年历和微鲤看看两款APP的数据库实例都多达64个,中华万年历通过手动拆分进行分库分表,同时业务代码时有侵入,也需要大量的维护工作;

微鲤看看日志主机的存量数据量较大,但随着业务调整,资源出现冗余,没有较好地整合。

面对现状,对中华万年历数据库的分库分表改造和微鲤看看的资源整合问题迫在眉睫。于是,选择将业务迁移割接到新的数据库系统来彻底解决这些问题在微鲤的技术团队中形成共识。

由于原先使用的数据库实例较多,不同实例参数差异大,且不同APP之间的数据存在于不同的数据库之中,对于迁移割接方案的要求也不尽相同,因此,各业务实现平滑迁移面临着较大的挑战。

华为云数据库有的放矢

助力微鲤业务降本增效

基于业务需求,微鲤亟需一款可弹性伸缩和极致性能的数据库来解决资源冗余的问题,并保证迁移过程中业务不受影响。在一众的数据库产品中,微鲤将眼光瞄向了华为云数据库

华为云数据库基于多年累积的数据库研发、搭建和维护经验,结合云化改造技术,大幅优化传统数据库,打造出了多款高性能、高可靠、高安全、可弹性伸缩的数据库,并拥有容灾、备份恢复、实时监控、在线迁移等全面的解决方案。

经过多次业务交流,微鲤对华为云数据库表示高度认可,并选择华为云数据库作为长期合作伙伴,双方在数据领域展开了深入合作。

针对微鲤业务上面临的挑战,华为云数据库团队快速响应需求,提供了针对性的方案:

迁移方案评估

在项目前期对整体业务和应用系统进行充分调研,梳理出所有业务的应用场景,针对不同APP对割接时间的要求进行分类,输出三种割接方案,进行多次DRS数据迁移测试和割接演练,确保各项业务平滑迁移至华为云上。

中华万年历分库分表改造方案

当前中华万年历的业务存在分表不分库、分库不分表、分库分表三种场景,根据实际的业务场景需求和未来3-5年的发展规划,梳理出当前手动分库分表逻辑,统计分库分表的数据量,依据业务的常用查询条件,选择合适的分片键和实例规格数量,将近10亿的数据量同步到分布式中间件DDM+RDS for MySQL中。

微鲤看看数据库合并方案

深入了解微鲤看看的业务应用场景,查看源端自建实例的监控指标,分析各个实例的读写压力,再结合数据量,按照业务的写入数据的模式,将64个自建MySQL实例优化合并为5个RDS实例。

在华为云项目团队的高效运作下,仅两个多月的时间内,微鲤多项业务平滑迁移至华为云数据库RDS for MySQL中:

不影响业务性能的前提下,中华万年历近10亿的数据在高效同步的同时做到了0丢失,数据可靠性大大增强;使用DDM+RDS for MySQL替代原有复杂的分库分表方式,简化了业务代码,提高了整个业务的读写性能;微鲤看看通过实例合并和数据均摊的方式有效均衡了业务读写压力,降低运维成本,减轻了后期维护压力。

目前,针对微鲤业务的解决方案已经在实施中取得明显成效,微鲤剩余的业务量将会按计划陆续搬迁至华为云数据库,在保障业务稳定性的前提下进行业务切换,顺利完成业务迁移。

标签: #万年历 数据库