直播平台的数据库架构演变

摘要:在阿里云数据库技术峰会上,特邀嘉宾映客直播架构师王振涛分享了映客直播作为创业公司从0至日活千万的数据库架构变迁,数据库在直播中的经典应用场景,数据库存储的优化思路,以及如何构建一个高可用数据库架构。

       8月24日,阿里云数据库技术峰会到来,本次技术峰会邀请到了阿里集团和阿里云数据库老司机们,为大家分享了一线数据库实践经验和技术干货。在本次峰会上,特邀嘉宾映客直播架构师王振涛分享了映客直播作为创业公司从0至日活千万的数据库架构变迁,数据库在直播中的经典应用场景,数据库存储的优化思路,以及如何构建一个高可用数据库架构。

以下内容根据演讲嘉宾现场视频以及PPT整理而成。

本次分享的内容将主要围绕以下四个部分:

一、映客直播发展历程

二、直播遇上云数据库

三、风口上的数据库架构变迁

四、直播典型应用场景分析

一、映客直播发展历程



       映客直播是2015年5月份成立的一家公司,在移动直播领域,映客算是比较早成立的公司了。如上图中所展示的就是映客APP上的一些页面,左图展示的是映客APP中的热门内容,这里是某一个反串演员主播正在进行直播,并且此时有5万多观众正在观看;右图则是映客直播的发现频道,发现频道里面主要会在热门时段对于平台内的优质内容进行展示推送。在映客APP中会有很多类似于前面提到的这些页面,包括了游戏直播、健身直播以及小视频等等。作为一个刚刚成立两年的公司而言,映客直播的发展速度还是非常迅速的,从2015年5月映客成立之初,刚刚发布APP时的DAU只有200,到当年10月份的时候DAU就已经达到了10万+,再到12月份短短两个月的时间,映客直播的DAU就已经突破了100万,而在2016年中下旬的时候,DAU峰值就已经达到了千万级别。以上就是映客直播大致的整体发展历程。

二、直播遇上云数据库

业务起步:映客APP发布

       接下来为大家介绍映客直播从开始到现在的架构发展演变过程。当映客APP刚发布的时候,整个后台其实只有三个人负责,两个开发和一个运维,这时的架构如下图所示。起初的架构其实是非常简单的,后台是由8台虚拟机搭建而成的,其中的6台虚拟机做了服务,而剩下的2台做了存储,存储这部分则是使用了自己搭建的MySQL和Redis。在这个起步阶段,对于后台系统要求最高的一点就是当出现了产品想法就需要尽快地实现,这样的架构非常适合在业务起步阶段的需求条件下实现一个直播APP,当时第一版本的开发工作只花费了2周的时间。



业务发展:规模化

       而随着映客直播业务量的提升,从2015年的5月份到10月份,映客的DAU达到了10万+,到12月份的时候就已经达到了100万+,此时的业务发展已经达到了规模化的阶段,这个阶段的整体服务端的架构设计如下图所示。此时的架构也是分为了接入层、业务层、基础层以及数据层,但是此时的架构与第一版的架构相比,其整体的框架已经基本成型了,这一版的架构实现了一些业务拆分、数据拆分以及模块化复用,此时服务的底层仍旧是依赖于Redis和MySQL数据库的。这个阶段最为显著的变化就是引入了云,也就是说此时的服务已经上云了。



       对于映客的服务上云,当时的考虑主要基于以下几点:

1. DDoS,因为云主机本身是可以防止DDoS攻击的,这样就可以将代理层全部都部署到云上。

2. 直播存在一个天然的属性就是有很多的明星活动以及其他大V的活动,因为这些活动所造成的瞬时压力是非常大的,如果使用自建机房就需要为这些可能仅仅持续几个小时的活动而囤积很多台服务器,需要购买很多预留资源。而使用在云之后,云主机本身是按照使用量进行收费

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring Boot是一种快速构建基于Java的应用程序的开源框架。直播平台开发需要使用到Spring Boot的多个功能组件和扩展库。以下是关于如何使用Spring Boot开发直播平台的一些要点: 1. 数据库管理:直播平台需要存储用户信息、直播房间信息、直播内容等数据。可以使用Spring Boot的JPA或者MyBatis等持久化技术来管理数据库。 2. 用户认证和权限控制:直播平台需要用户登录和注册功能,并且需要对用户进行鉴权和权限管理。可以使用Spring Security来实现用户认证和权限控制。 3. 直播功能:直播平台需要实时推送和播放直播内容。可以使用Spring Boot的WebSocket功能来实现实时通信,推送直播内容给观众。 4. 弹幕功能:观众可以在直播过程中发送弹幕进行互动。可以使用Spring Boot的消息中间件(如RabbitMQ)来处理和推送弹幕消息。 5. 观众互动功能:观众可以进行点赞、评论、送礼物等互动行为。可以使用Spring Boot的事件驱动模型来处理观众互动,同时结合数据库技术来存储和展示互动数据。 6. 扩展功能:直播平台可能还需要其他扩展功能,如支付功能、推荐系统等。可以根据具体的需求选择相应的Spring Boot扩展库进行开发和集成。 通过使用Spring Boot开发直播平台,可以快速搭建一个稳定高效的直播平台,并且可以结合Spring Boot的丰富生态系统来满足各种复杂需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值