基于微服务架构的直播平台搭建【一】

一、摘要

自“十四五”计划提出以来,国家将“互联网+教育”列为工作重点。再结合后疫情时代的大发展背景,人们的需求已经从简单的“拥有一个线上平台”变为了“拥有性能较好、可用性较高的线上平台”。当前已有的软件基本可以满足用户观看直播的需求,但在满足用户自行开启直播、分享直播与系统的响应速度方面还有待提升,时常出现无法满足用户需求的情况。

为切实解决实际生活中出现的需求,在贴合时代发展的背景下,该项目运用了当下最流行的微服务架构、Spring Cloud开发框架等高新技术,开发了一套直播系统,满足了在信息化时代的当下人们对于娱乐、学习等方面的需求。本系统为用户提供了观看直播、开启直播、发送弹幕、礼物、评论视频、发布视频、分享直播、点赞、收藏、修改个人信息等功能。从直播平台搭建的角度来看,功能完备,性能优越。对于平台管理者来说,本系统也提供了直播管理、直播数据分析、系统日志等内容,用以对平台进行数据监测及管理。同时,该项目可在多端运行,针对各端不同的特性进行设计,适应不同需求。在兼顾较为传统的pc端的同时,也考虑到新兴的手机端的需求。

关键词:微服务,直播平台,Spring Cloud框架,Spring Cloud Alibaba框架​​​​​​​

Since the 14th Five-Year Plan was put forward, the country has made "Internet plus education" a priority. Combined with the great development background in the post-epidemic era, people's demand has changed from a simple "owning an online platform" to "owning an online platform with better performance and higher usability". Currently, the existing software can basically meet the needs of users to watch live broadcasting, but it needs to be improved in terms of meeting the needs of users to start live broadcasting, share live broadcasting and the response speed of the system, which often fails to meet the needs of users.

In order to effectively solve the needs in real life, in the context of the development of the times, the project uses the most popular microservices architecture, Spring Cloud development framework and other high-tech, developed a live system to meet the needs of people in the information age for entertainment, learning and other aspects. The system provides users with the functions of watching live, opening live, sending pop-ups, gifts, commenting on videos, posting videos, sharing live, liking, collecting and modifying personal information. From the perspective of live streaming platform building, the functions are complete and the performance is superior. For platform managers, the system also provides live broadcast management, live data analysis, system logs, etc. for data monitoring and management of the platform. At the same time, the project can run on several ends While taking into account the more traditional PC terminal, it also takes into account the needs of the emerging cell phone terminal.

KEY WORDS: Microservices, live streaming platform, Spring Cloud framework, Spring Cloud Alibaba framework

二、背景和意义

随着互联网高速发展以及第五代移动通信技术的诞生,人们对于娱乐的需求呈爆炸式增长,这一点从近年来B站、抖音、快手等视频软件的风靡可以体现。与此同时,人们对娱乐的质量开始寄予更高的期望。短短几年前还可称为新鲜的娱乐形式,如文字、图片、视频等,已不能再满足人们的日常需求。在这样的大环境下,人们不断寻求一种更加直接、刺激、更能够满足感官欲望的的娱乐形式,于是,网络直播走入了人们的日常生活。

近年来,因疫情的影响,人们的生活发生了翻天覆地变化。这样的改变已渗透进生活的方方面面。针对学生和老师群体来说,教学的模式从以往的粉笔板书,变为电子投屏与板书结合,再变成如今的线上课程,疫情在其中起到了决定性的影响作用。现阶段,以直播形式进行在线授课已成为常态化。在线教育以互联网为平台进行直播,师生无需在固定的地点和时间参加课堂,突破了时间和空间的约束。只要拥有一台电子设备,教师和学生便可以随时随地便捷地开课或参加课程。这样的教学模式具有受众广、支持碎片化学习等特点。

传统的线上教学模式深受网络质量影响,虽跨越了时间、空间的难题,但在实际开课过程中也仍有许多问题亟需解决。在基础设施方面,线上教学需要稳定的网络基站提供信号,教学质量及其依靠网速及信号。在软件使用方面,也存在着功能布局不合理、难以操作、层次不清晰等问题。本人将利用所学知识,使用微服务进行直播软件的开发,从架构上提升软件质量,直面用户需求,确保软件在使用过程中的稳定性,增加容错率。

《“十四五”信息化和工业化深度融合发展规划》提出,提出到2025年,工业互联网平台普及率达45%。推进工业互联网平台建设和应用,是“十四五”两化深度融合发展规划的工作重点。[1]

针对互联网企业来说,线上办公,视频会议已经是工作的一部分。传统企业上云进程加快,驱使我国云计算市场规模——特别是公有云——快速扩张,为打造IT数字化基础能力奠定坚实的基础。[2]此外,大数据、边缘计算、物联网、区块链、人工智能和5G等新一代数字技术的持续发展突破,都为企业实现数字化转型提供了技术保障。从市场需求来看,全球经济、市场、商品等多维一体化发展的趋势,不断迫使企业从信息化转向数字化,并进一步向数智化方向发展。而企业直播服务可以留存并打通企业用户数据,并进一步在AI和人工智能算法的帮助下对直播运营环节提供优化的方向,进而提升运营效率,帮助企业更好的应对愈发激烈的市场竞争。

  在这种背景下,本人基于微服务架构,设计了一个直播系统。本系统充分使用微服务架构、Spring Cloud、Spring Cloud Alibaba框架等高新技术,服务细粒度划分到功能,服务之间解耦,从而提高开发效率和独立扩展能力。同时,该项目使用服务通信、负载均衡、降级熔断、链路追踪、分布式集群等技术和方案,保证服务的高可用性和可拓展性。

三、国内外研究现状

在疫情时代来临前,国内线上直播平台主要用于娱乐休闲。近年来互联网直播的发展历程大致可以划分为以下4个时期:以YY、六间房为主的基于PC端的秀场直播;从YY发展而来的虎牙、斗鱼、龙珠等各类游戏直播;以花椒、映客陌陌为主的移动泛娱乐直播;以微鲸科技、花椒直播为主的VR直播。

市场上还存在各种垂直类直播,典型的如淘宝直播(主打购物)、知牛财经(主打金融)、酷狗直播(主打音乐)、100直播(主打教育)等等。该类直播具有鲜明的用户需求,定位准确[1]。

国外视频直播最原始的形态即制作YouTube视频,主打以分享的方式传播视频。而Twitch是最早尝试视频直播的公司,主要提供游戏视频进程实况直播与游戏活动赛事等的转播,也支持聊天室的功能。该系列功能退出后迅速引爆互联网,吸引大量用户关注[2]。

国内的在线教育最早起源于教育部门的试点工程,通过录制优质课程或远程课堂的形式,使得经济欠发展地区的学生可以享受优质的教育资源。目前,国外已经涌现出如可汗学院、Coursera Udacity等优质的平台。这些平台课程质量优秀、深受学生喜爱。此外,基本每个顶尖学府均搭建了依托本校教学内容的在线学习平台[3]。

对于微服务这一新兴的开发方式而言,系统根据需求分析和微服务理论对系统功能模块进行划分以实现模块之间的解耦,划分后以服务为单位进行开发、部署和维护[4]。

四、本文主要架构

本课题是基于当前社会发展现状和人们的切实需求,设计且实现一个基于微服务架构的直播系统。满足用户在平台上可以进行多人视频直播,在线视频学习,并且进行交互和讨论。本文的主要研究工作如下:

(1)对直播平台各种角色用户的需求进行详细分析,并配合用例图说明。从系统性能和可靠性的角度出发明确系统的各项非功能需求。

(2)研究和学习微服务架构的理论和各种技术,进行技术调研和选型,为系统的设计与实现打下基础。研究提高系统性能的各种计数原理,例如服务治理、服务网关、服务等。 

(3)基于需求分析,设计和实现面向微服务架构的系统。按照微服务的基本原则设计功能模块和拆分服务,以实现服务之间的高内聚和低耦合。按照业务实体设计数据库。采用 Spring Cloud 技术栈,综合应用集群、负载均衡、前后端分离架构等技术手段实现各功能模块,提高系统的性能和可用性。 

(4)系统部署、运行和测试。使用容器技术 Docker 部署系统,做到监控系统的同时保证服务可动态伸缩。综合运用各种方法和工具对系统进行测试,根据测试结构对系统进行优化和改进。

五、论文组织结构

本论文的组织结构如下:

第一章 阐明课题的研究背景,介绍课题的研究现状和来源,并概述设计(论文)的主要工作和创新点。

第二章 系统分析。主要用来阐述项目的需求、系统中的主要业务、非功能性分析、可行性分析等内容。

第三章 系统总体设计。主要用来描述项目的具体设计,包含数据库设计与接口设计等内容,用图表加以叙述。

第四章 系统详细设计。主要用来解释项目中的对象、交互、功能等内容,用类图、协作图、流程图等进行描述。

第五章 系统实现。结合代码进行演示,并配合效果图阐述,主要用来呈现项目实际完成的功能和效果。

第六章 系统测试与部署。主要对前文讲述的各项功能、板块等进行测试,从测试结果反推代码是否正确,在最终项目完成前做最后的整体检查。

第七章 总结与展望。对本课题进行总结,分析优点与不足,并对今后的研究做出总结和展望。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值