更多云场景实践研究案例,点击这里:
【云场景实践研究合集】联合不是简单的加法,而是无限的生态,谁会是下一个独角兽
映客直播作为创业公司从0至日活千万的数据库架构变迁,如何让数据库支持在直播中的经典应用场景,如何构建一个高可用数据库架构。数据库本身而言是一个基础设施。那么作为基础设施,映客主要可以依赖数据库的稳定性以及基本的性能。而云为数据库提供了专家级的运维,这一点也是比较好的方面。但是云数据库也不是万能的,在具体场景中,需要在架构层面以及具体的业务场景层面进行具体的架构梳理和优化。
映客直播作为创业公司从0至日活千万的数据库架构变迁,如何让数据库支持在直播中的经典应用场景,如何构建一个高可用数据库架构。数据库本身而言是一个基础设施。那么作为基础设施,映客主要可以依赖数据库的稳定性以及基本的性能。而云为数据库提供了专家级的运维,这一点也是比较好的方面。但是云数据库也不是万能的,在具体场景中,需要在架构层面以及具体的业务场景层面进行具体的架构梳理和优化。
“在数据库架构方面,我们一直都在路上,并且将会一直努力前行。”
——王振涛
映客直播架构师
采用的阿里产品
阿里云云数据库
阿里云VPC
阿里云RDS的MySQL
为什么使用阿里云
映客直播作为创业公司从0至日活千万的数据库架构变迁,如何让数据库支撑在直播中的经典应用场景,数据库存储的优化思路,以及如何构建一个高可用数据库架构。
云服务器可帮助映客达到防止DDoS攻击,极大地降低直播平台的运营成本并达到平滑可伸缩的数据库架构。
关于映客直播
映客直播是成立于2015年5月份,在移动直播领域,映客算是比较早成立的公司了。作为一个刚刚成立两年的公司而言,映客直播的发展速度非常迅速,从2015年5月映客成立之初,刚刚发布APP时的DAU只有200,到当年10月份的时候DAU就已经达到了10万+,再到12月份短短两个月的时间,映客直播的DAU就已经突破了100万,而在2016年中下旬的时候,DAU峰值就已经达到了千万级别。
面临的挑战
直播存在一个天然的属性就是有很多的明星活动以及其他大V的活动,因为这些活动所造成的瞬时压力是非常大的,如果使用自建机房就需要为这些可能仅仅持续几个小时的活动而囤积很多台服务器,需要购买很多预留资源。而且之前的的数据库的配置或者性能已不能满足日活千万级别的直播平台的需求,需要结合云服务器,不断迭代服务框架。
为什么选择阿里云
业务规模化时期
DDoS,因为云主机本身是可以防止DDoS攻击的,这样就可以将代理层全部都部署到云上。
明星活动以及其他大V的活动所造成的瞬时压力是非常之大。而使用在云之后,云主机本身是按照使用量进行收费的,这样可以将很多核心业务都部署到云上,在出现瞬时活动需要进行扩容的时候就可以直接进行扩容,当活动结束之后就可以释放这些多余的资源,通过这样的弹性伸缩可以极大地降低直播平台的运营成本。
云主机以及云数据库等这些云资源使用的都采用的是集群模式的部署,而其集群模式往往也是对于用户透明的,这样就可以理解成云本身帮助我们实现了一层高可用。
平滑可伸缩,比如现在的数据库的配置或者性能不能满足需求了,就可以使用云上的这些资源进行平滑地扩容,并且云上的扩容对于服务是没有任何影响的,而且包括SLB负载均衡器这些对于云的用户而言都是比较友好的。
业务爆发时期
云服务本身是作为基础设施的,可以为映客提供高质量的运维。但是当业务的日活、流量还在爆发性增长的时候,单单依靠云服务这种基础设施的能力还是不够的,所以映客的服务框架也在不断地迭代中。如下图所示的架构框架是在映客上云之后,进行了一次比较大的改造之后的框架。
这个框架就已经实现了一些分层,主要分为了用户层、应用层以及数据层,并且在云服务基础设施上实现了很多服务化的重构、存储的优化等的一些技术中间件,做了方方面面的工作来保障当业务爆发达到千万日活的时候,服务还依旧能够支撑住,这样的框架本身的稳定性也还是比较不错的。近期,映客在做的一件事情就是在目前体量已经非常大的情况下,如何去保证资源的独占和安全,目前也正在基于云服务设施进行VPC的部署,而且这项工作目前推进得也还不错。
拥抱阿里云后的变化
映客的整体架构是构建在云服务基础设施之上的。目前映客已经达到今天千万日活这样的体量还在使用云服务其实主要基于以下几个方面的考虑:首先,映客认为在现阶段,云服务的发展已经相对比较成熟,并且也是比较安全的,云服务在内部可以保障一些高可用的支撑;另外,用户使用的所有服务基本上都是集群化的,并且是支持平滑伸缩的,这些对于有活动运营需求的直播平台而言都是非常有价值的;并且云服务的用户也不需要预留太多资源来支撑可伸缩的容量;除此之外,如果使用自建机房,那么运维团队需要足够了解每一个环节,需要能够支撑从硬件设施到监控以及上线等各个方面,这对于一个快速迭代的公司的运维团队而言则是非常困难的,而使用云服务则可以保障基础设施的高质量运维。以上这些就是映客直播到目前千万日活的体量依旧选择在云上架构未来的很重要的原因。
其实很多服务以及系统到最后归结起来都是数据,所以云服务的重中之重或者基础的基础就是云数据库,这也是映客的架构中一直在不断地迭代和优化的技术层面。云数据库作为基础,也经历了从单机时代到集群时代,再到分布式框架的发展演变。
关于映客直播的更多实践详情:
映客直播技术实战:直播平台的数据库架构演变
原文发布日期:2017-09-01
云栖社区场景研究小组成员:董黎明,仲浩。