资讯专栏INFORMATION COLUMN

TOP100summit:【分享实录】爆炸式增长的斗鱼架构平台的演进

baukh789 / 818人阅读

摘要:吴瑞诚斗鱼数据平台部总监曾先后就职于淘宝一号店。目前负责斗鱼实时离线数据处理个性推荐系统和搜索引擎。斗鱼统一日志监控系统有了配置中心,可以以此实现服务的开关和降级。

本篇文章内容来自2016年TOP100summit斗鱼数据平台部总监吴瑞城的案例分享。
编辑:Cynthia
2017年11月9-12日北京国家会议中心第六届TOP100summit,留言评论有机会获得免费体验票。

吴瑞诚:斗鱼数据平台部总监
曾先后就职于淘宝、一号店。
从0到1搭建公司大数据平台、平台规划和团队建设。
目前负责斗鱼实时/离线数据处理、个性推荐系统、BI&DW和搜索引擎。
背靠开源生态,应用短平快的方式,支撑起一个亿级用户的在线直播平台。
致力于数据平台产品化、智能化、云化。
对高可用高并发的大数据平台架构和SOA架构有深入的理解和实践。

导读:2016年是直播行业的元年,斗鱼在两年内发展成为拥有亿级用户和百万级主播的直播平台,快速增长的同时也为技术带来了高并发请求和海量数据的挑战。同时公司系统技术栈多、项目迭代周期快、系统规模呈爆炸式增长。在这种背景下,斗鱼网站的架构平台该如何进行优化,才能支撑起如此迅猛的业务发展?斗鱼的平台技术会在哪些方面持续革新?
本文详解斗鱼技术团队通过对斗鱼基础架构平台的不断改造与优化,形成当前能支撑千万级用户同时在线观看的架构平台。适用于希望了解直播平台基础架构、单体应用的服务化改造、直播平台在支撑大型赛事活动所做的准备。

一、问题的提出

斗鱼网站2014年上线至今,顺应直播行业趋势的发展,完成对交易系统、会员系统、统一登录系统、弹幕系统、任务系统的重构,并持续对架构进行优化,针对客户使用体验拆分系统、提高研发效率、强化系统稳定性和扩展性。优化主要针对以下三个方向:

● 偿还技术债--多语言技术栈交互,临时方案导致版本过多、逻辑错综复杂;
● 系统可扩展性--服务与服务、服务与资源之间解耦;
● 服务化--微服务、服务治理、容器化。

二、实践过程

2.1 斗鱼架构平台整体介绍

2015年初,斗鱼网站系统架构主要分为两大功能模块:Web站和移动端,这两大模块最初是从网站的单个工程中拆分出来的,是一个典型意义上的单体应用,也就是Martin Fowler指的monolithic application,这样的系统主要有以下问题:

● 各个业务模块错综复杂,代码复用率低,临时方案和功能开关多,导致代码可维护性较差;
● 功能开发效率较低,容易踩坑,容易伤士气;
● 网站健壮性较差。

斗鱼去年(2015年)系统架构如图1所示:

阅读需要支付1元查看
<