博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
阅文集团副总裁傅徐军:最佳技术架构选型方法论
阅读量:6955 次
发布时间:2019-06-27

本文共 1661 字,大约阅读时间需要 5 分钟。

近日,阅文集团副总裁傅徐军受邀参加了由中国信息通信研究院主办、中国通信标准化协会支持的“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的技术团队也做了深入的分享和交流。所以总体来看,阅文应该向开源社区做更多的技术回馈,加速整个开源社区的发展。”

转载地址:http://tktil.baihongyu.com/

你可能感兴趣的文章
spring实战三装配bean之Bean的作用域以及初始化和销毁Bean
查看>>
如何使用 TP中的公共函数 (定义在common/common.php中的函数)
查看>>
freepbx 安装和配置
查看>>
redhat安装VMware tools的方法
查看>>
[转] --- Error: “A field or property with the name was not found on the selected data source” ge...
查看>>
I2S详解
查看>>
Atitit.atijson 类库的新特性设计与实现 v3 q31
查看>>
Linux 内核的文件 Cache 管理机制介绍
查看>>
运维高考题
查看>>
PreviewRenderUtility的Example
查看>>
纯JS操作获取桌面路径方法
查看>>
HTTP VISUAL HTTP请求可视化工具、HTTP快照工具(公测)
查看>>
Htmlparser专题
查看>>
银行支持一带一路超4800亿美元 投资不受外汇限制
查看>>
scrapy-splash抓取动态数据例子七
查看>>
Eclipse导入android项目包xml报错未生成R文件
查看>>
未经处理的异常在 System.Data.dll 中发生。其它信息:在应使用条件的上下文(在 '***' 附近)中指定了非布尔类型的表达式。...
查看>>
Alpine Linux配置使用技巧【一个只有5M的操作系统(转)】
查看>>
sqlcmd
查看>>
stl之multiset容器的应用
查看>>