云场景实践研究第66期:映客直播

简介: 映客直播作为创业公司从0至日活千万的数据库架构变迁,如何让数据库支持在直播中的经典应用场景,如何构建一个高可用数据库架构。数据库本身而言是一个基础设施。那么作为基础设施,映客主要可以依赖数据库的稳定性以及基本的性能。
更多云场景实践研究案例,点击这里: 【云场景实践研究合集】联合不是简单的加法,而是无限的生态,谁会是下一个独角兽
映客直播作为创业公司从0至日活千万的数据库架构变迁,如何让数据库支持在直播中的经典应用场景,如何构建一个高可用数据库架构。数据库本身而言是一个基础设施。那么作为基础设施,映客主要可以依赖数据库的稳定性以及基本的性能。而云为数据库提供了专家级的运维,这一点也是比较好的方面。但是云数据库也不是万能的,在具体场景中,需要在架构层面以及具体的业务场景层面进行具体的架构梳理和优化。
“在数据库架构方面,我们一直都在路上,并且将会一直努力前行。”
——王振涛
映客直播架构师

采用的阿里产品 
阿里云云数据库 
阿里云VPC
阿里云RDS的MySQL

为什么使用阿里云
映客直播作为创业公司从0至日活千万的数据库架构变迁,如何让数据库支撑在直播中的经典应用场景,数据库存储的优化思路,以及如何构建一个高可用数据库架构。
云服务器可帮助映客达到防止DDoS攻击,极大地降低直播平台的运营成本并达到平滑可伸缩的数据库架构。

关于映客直播
映客直播是成立于2015年5月份,在移动直播领域,映客算是比较早成立的公司了。作为一个刚刚成立两年的公司而言,映客直播的发展速度非常迅速,从2015年5月映客成立之初,刚刚发布APP时的DAU只有200,到当年10月份的时候DAU就已经达到了10万+,再到12月份短短两个月的时间,映客直播的DAU就已经突破了100万,而在2016年中下旬的时候,DAU峰值就已经达到了千万级别。
2ef047a0c7012053eac5c93aed2d7cf1232dd515

面临的挑战
直播存在一个天然的属性就是有很多的明星活动以及其他大V的活动,因为这些活动所造成的瞬时压力是非常大的,如果使用自建机房就需要为这些可能仅仅持续几个小时的活动而囤积很多台服务器,需要购买很多预留资源。而且之前的的数据库的配置或者性能已不能满足日活千万级别的直播平台的需求,需要结合云服务器,不断迭代服务框架。

为什么选择阿里云
932e9b3e41b610ef832f3074c727c564a701b54b
业务规模化时期
DDoS,因为云主机本身是可以防止DDoS攻击的,这样就可以将代理层全部都部署到云上。
明星活动以及其他大V的活动所造成的瞬时压力是非常之大。而使用在云之后,云主机本身是按照使用量进行收费的,这样可以将很多核心业务都部署到云上,在出现瞬时活动需要进行扩容的时候就可以直接进行扩容,当活动结束之后就可以释放这些多余的资源,通过这样的弹性伸缩可以极大地降低直播平台的运营成本。
云主机以及云数据库等这些云资源使用的都采用的是集群模式的部署,而其集群模式往往也是对于用户透明的,这样就可以理解成云本身帮助我们实现了一层高可用。
平滑可伸缩,比如现在的数据库的配置或者性能不能满足需求了,就可以使用云上的这些资源进行平滑地扩容,并且云上的扩容对于服务是没有任何影响的,而且包括SLB负载均衡器这些对于云的用户而言都是比较友好的。

业务爆发时期
云服务本身是作为基础设施的,可以为映客提供高质量的运维。但是当业务的日活、流量还在爆发性增长的时候,单单依靠云服务这种基础设施的能力还是不够的,所以映客的服务框架也在不断地迭代中。如下图所示的架构框架是在映客上云之后,进行了一次比较大的改造之后的框架。
90ae09112a57a11f1ce15af98c9aa29aea740605
这个框架就已经实现了一些分层,主要分为了用户层、应用层以及数据层,并且在云服务基础设施上实现了很多服务化的重构、存储的优化等的一些技术中间件,做了方方面面的工作来保障当业务爆发达到千万日活的时候,服务还依旧能够支撑住,这样的框架本身的稳定性也还是比较不错的。近期,映客在做的一件事情就是在目前体量已经非常大的情况下,如何去保证资源的独占和安全,目前也正在基于云服务设施进行VPC的部署,而且这项工作目前推进得也还不错。

拥抱阿里云后的变化
映客的整体架构是构建在云服务基础设施之上的。目前映客已经达到今天千万日活这样的体量还在使用云服务其实主要基于以下几个方面的考虑:首先,映客认为在现阶段,云服务的发展已经相对比较成熟,并且也是比较安全的,云服务在内部可以保障一些高可用的支撑;另外,用户使用的所有服务基本上都是集群化的,并且是支持平滑伸缩的,这些对于有活动运营需求的直播平台而言都是非常有价值的;并且云服务的用户也不需要预留太多资源来支撑可伸缩的容量;除此之外,如果使用自建机房,那么运维团队需要足够了解每一个环节,需要能够支撑从硬件设施到监控以及上线等各个方面,这对于一个快速迭代的公司的运维团队而言则是非常困难的,而使用云服务则可以保障基础设施的高质量运维。以上这些就是映客直播到目前千万日活的体量依旧选择在云上架构未来的很重要的原因。


f09e83eb608101903e1dbd64f0b5b28bcff48280
其实很多服务以及系统到最后归结起来都是数据,所以云服务的重中之重或者基础的基础就是云数据库,这也是映客的架构中一直在不断地迭代和优化的技术层面。云数据库作为基础,也经历了从单机时代到集群时代,再到分布式框架的发展演变。
730b676d2fd3267c5dc571cdf58d00fbc69225f6

关于映客直播的更多实践详情: 映客直播技术实战:直播平台的数据库架构演变
原文发布日期:2017-09-01
云栖社区场景研究小组成员:董黎明,仲浩。

相关文章
|
5月前
|
SQL 关系型数据库 MySQL
如何确认SQL用了索引:详细技巧与方法
在数据库管理中,索引是提高SQL查询性能的重要手段
1151 5
|
Kubernetes Cloud Native Java
基于专有云EDAS OpenAPI构建企业级云原生CICD——Series2:OpenAPI调用
基于专有云EDAS OpenAPI构建企业级云原生CICD——Series2:OpenAPI调用
基于专有云EDAS OpenAPI构建企业级云原生CICD——Series2:OpenAPI调用
|
机器学习/深度学习 SQL Ubuntu
何时应该考虑使用 WSL 而不是标准 Linux 发行版?
选择标准的 Linux 桌面或 WSL 有时可能会令人困惑。决策取决于您对Linux的需求以及您希望将 Windows 和 Linux 整合到多大程度。 WSL 之所以如此受欢迎,是因为它提供了一种将 Windows 和 Linux 整合在一起的方式,并提供了一些强大的功能。
382 0
|
设计模式 机器学习/深度学习 缓存
大厂P6职级提升攻略
P6做的跟P5差不多事,但无需别人带着做。P5、P6都会参加需求评审,只不过P5参加时只是在听,而P6可能针对需求直接提出意见。
2967 0
|
人工智能 监控 算法
阿里云智慧高速解决方案 让高速公路出行更安全、更畅通、更舒心
首先,交通安全问题突出,交通事故频发;第二,智慧管控手段不足,大多依靠表格化的 OA 系统;第三,管理运营水平不高,主要流程依靠人为推动发现;第四,公众出行体验较差,交通拥堵事件频发。
3095 0
阿里云智慧高速解决方案 让高速公路出行更安全、更畅通、更舒心
|
新零售 人工智能 供应链
李锋:联接数智化生态,打造“数字化越秀” | 阿里CIO学院名人堂
7月14-16日 ,越秀集团首席资本运营官李锋作为阿里创新学院的越秀专班学员走进阿里巴巴,参与三天的数智化升级培训班。期间,李锋接受CIO学院记者专访,对越秀集团的数字化转型工作进行了介绍和分享。
2554 0
李锋:联接数智化生态,打造“数字化越秀” | 阿里CIO学院名人堂
|
前端开发 NoSQL Java
使用 Kotlin + WebFlux/RxJava 2 实现响应式以及尝试正式版本的协程
使用 Kotlin + WebFlux/RxJava 2 实现响应式以及尝试正式版本的协程
866 0
使用 Kotlin + WebFlux/RxJava 2 实现响应式以及尝试正式版本的协程
|
10月前
|
消息中间件 存储 NoSQL
RabbitMQ的幂等性、优先级队列和惰性队列
**摘要:** 本文讨论了RabbitMQ中的幂等性、优先级队列和惰性队列。幂等性确保了重复请求不会导致副作用,关键在于消费端的幂等性保障,如使用唯一ID和Redis的原子性操作。优先级队列适用于处理不同重要性消息,如大客户订单优先处理,通过设置`x-max-priority`属性实现。惰性队列自3.6.0版起提供,用于延迟将消息加载到内存,适合大量消息存储和消费者延迟消费的场景。
126 4
|
17天前
|
人工智能 API
【保姆级教程]】5分钟用阿里云百炼满血版DeepSeek, 手把手做一个智能体
阿里云推出手把手学AI直播活动,带你体验DeepSeek玩法。通过阿里云百炼控制台,用户可免费开通满血版R1模型,享受100w token免费额度。活动还包括实验步骤、应用开发教程及作业打卡赢好礼环节,提交优秀作品更有机会获得定制礼品。快来参与吧!