阅文集团副总裁傅徐军:最佳技术架构选型方法论
近日,阅文集团副总裁傅徐军受邀参加了由中国信息通信研究院主办、中国通信标准化协会支持的“OSCAR云计算开源产业大会”。在大会上,他基于阅文对自身业务技术架构深度优化的实践与成果,分享了技术决策者对于最佳技术架构选型的方法论。
作为引领行业的正版数字阅读平台和文学IP培育平台,阅文集团融合了腾讯内部应用最广泛的微服务技术架构,并通过对业务的技术架构进行深度优化取得了可观的效益。
傅徐军,阅文集团副总裁,2018年加入阅文,全面负责阅文研发团队管理工作。
技术架构统一,丢掉历史包袱
阅文集团成立于2015年,由腾讯文学与原盛大文学整合而成。因为由很多子品牌公司的技术架构组成,所以需要进行技术架构的统一。
傅徐军说道:“我们面临的第一个挑战就要做技术架构的统一,这是我们第一个要解决的问题。”阅文集团后端服务技术栈曾有.Net及Oracle存储,也存在着几百台Windows Server系统的服务器,当然也存在JAVA和PHP两种在网络文学行业中应用非常广泛的语言。所以秉承快速构建、共性开发、持续集成、快速迭代、高效运营的理念,架构统一的工作顺理成章地展开了。
技术决策者经验,微服务架构选型
因为RPC的远程调用特性,针对多系统间的通讯及计算能力横向扩展有着先天优势。阅文集团早期的架构是单一接入的烟囱式架构,如果发生接入层故障或者数据中心节点故障,都会导致全业务不可用。
针对新技术架构选型,傅徐军阐述道:“阅文集团需要一个分布式的计算框架,一个高性能的RPC架构以及微服务的治理平台。在做了很多的技术架构选型之后,最终选择了腾讯的TARS。经过持续的技术交流和逐步的架构演变,解决了阅文集团在服务发现、智能调度、负载均衡、容灾容错、立体化监控和可视化运营管理的问题。阅文集团在技术架构上取得了很好的效果,跟我们的预期非常一致,研发效率得到了极大的提升,运维成本也明显的减少,整体系统的稳定性也取得了卓越的效果。”
抽象公共组件,提升研发效率
阅文集团这几年发展很快,针对不同的读者提供了很多不同的阅读频道,针对不同的合作方提供了不同的合作方式。从而形成很多不同的方案,如果为每一个方案做一套独立的架构,是很有难度的。
傅徐军表示:“阅文集团一开始有起点读书、QQ阅读这类在线网文的内容。后来,做了很多细分,比如说面向女性读者、面向二次元读者及海外读者都提供了不同的阅读频道。与正版纸质图书也有很多合作,如为微信读书提供内容,像《哈利·波特》、《魔戒》都通过阅文发行。这些方案虽然很不一样,但是他们有很多的公共组件,是可以抽取出来的。比如说计费、账户、稿酬、评论的反作弊等。有大概数百个部分组成,这样慢慢提取出来,才能做到更好的迭代,才能提高研发效率。”
高性能高并发,服务海量用户
“阅文集团在近几年用户快速增长,现在MAU已经超过1.9亿,这样的一个情况下,春节搞一个红包活动,QPS大概是十万级别,核心引擎的数据也达到了十万级别。为了支持这样的量级,怎么样做一个高性能高并发的架构是一个挑战。”傅徐军补充。
阅文集团业务每日调用数值巨大。近60种业务服务,对于常规的开发部署方式,必然会花费大量成本进行编码、部署以及运维的统一。正是采用了腾讯的TARS架构,它在研发和运营方面都有非常优秀的表现,为阅文集团的APP抗住了515书友粉丝节、百万红包、除夕手Q线上联动等过亿级用户量的活动。
技术回馈社区,加速开源发展
傅徐军在最后说道:“令我印象最深的是,虽然TARS是从原来在腾讯内部使用到后来慢慢变开源的一个平台,但是它向我们提供的却是一个企业级的服务。阅文集团技术团队除了使用开源技术,同时也做了很多对外开源的贡献。比如在多语言的支持上,原来的TARS欠缺了对PHP语言的支持,而阅文集团在PHP语言开发的积累上是比较透彻的,所以我们帮助TARS做了PHP的语言扩展。同时我们去年与TARS的技术团队也做了深入的分享和交流。所以总体来看,阅文应该向开源社区做更多的技术回馈,加速整个开源社区的发展。”