为什么我们要用BS架构来开发流媒体平台?

2024-04-24 03:32

本文主要是介绍为什么我们要用BS架构来开发流媒体平台?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

熟悉我们的小伙伴都知道,我们开发的所有流媒体平台EasyNVR、EasyGBS、EasyCVR、EasyDSS等都是BS架构,至于BS架构和CS架构的区别,我们在之前的博文中也提到过:视频流媒体服务器BS架构与CS架构的区别在哪里?大家有兴趣可以了解一下。

BS和CS两种架构针对不同的场景有不同的应用需求,简单来说,BS主要支持浏览器的无插件直播,而CS主要是在客户端直播方面发挥作用。CS架构要先于BS架构出现,BS架构是CS架构的一种变化或者说是改进,解决了CS架构无法统一客户端的难题,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。

在EasyNVR的使用中,一般项目场景比较大的用户团队应该有明显的感觉,如果没有采用BS架构,那么系统管理人员需要在基数量庞大的电脑服务器之间重复运行,不仅工作量大,且效率低下,还会浪费大量人力资源。但采用B/S架构的EasyNVR平台,则只需管理服务器就行了,所有的客户端只是浏览器,无需做过多人力维护,且无论用户规模会达到何种级别,也无论分支机构有多少,都不影响维护升级的工作量,只需关注服务器操作即可。

此外,基于BS架构的EasyNVR流媒体平台具备windows和Linux两种版本,在系统的选择性上相对更高,而且安全性高,不管选用哪种操作系统都可以让大部分人使用windows作为桌面操作系统电脑不受影响,还可以充分发挥Linux中数据库免费的绝对优势。

EasyNVR背景分析1.png

然而BS架构仍给EasyNVR的实际运行带来了一定的劣势。由于用户界面主要事务逻辑在服务器(Server)端完全通过浏览器实现,极少部分事务逻辑在前端(Browser)实现,因此服务器承载了大部分的数据,随着数据增加,负荷将会越来越重。也正是因为这个原因,很多视频项目都会准备一套数据库存储服务器以防万一。

针对负荷问题,EasyNVR也有自身的处理方式,即集群和分布存储。集群的特点是通过多台计算机完成同一个工作,当一台服务器崩溃,也不会影响其他服务器的运行。自身拥有拉取安防RTSP视频流的功能,同时自身也拥有流媒体分发的能力。以集群的方式来说,就是多个流媒体进行视频分发、多个服务进行视频拉流,是集群服务的直接使用形式。

实际上不仅是EasyNVR,很多场景运用中都经常会有高并发和多设备的情况,我们则提供了一个相对具备优势的解决方案,不管是BS架构还是集群和分布式存储,我们都有将视频传输或者说服务器压力降低的方式。如果大家有兴趣,可以关注我们获取更多相关视频解决方案,欢迎大家了解。

TSINGSEE2.png

这篇关于为什么我们要用BS架构来开发流媒体平台?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/930649

相关文章

Java异常架构Exception(异常)详解

《Java异常架构Exception(异常)详解》:本文主要介绍Java异常架构Exception(异常),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1. Exception 类的概述Exception的分类2. 受检异常(Checked Exception)

利用Python开发Markdown表格结构转换为Excel工具

《利用Python开发Markdown表格结构转换为Excel工具》在数据管理和文档编写过程中,我们经常使用Markdown来记录表格数据,但它没有Excel使用方便,所以本文将使用Python编写一... 目录1.完整代码2. 项目概述3. 代码解析3.1 依赖库3.2 GUI 设计3.3 解析 Mark

利用Go语言开发文件操作工具轻松处理所有文件

《利用Go语言开发文件操作工具轻松处理所有文件》在后端开发中,文件操作是一个非常常见但又容易出错的场景,本文小编要向大家介绍一个强大的Go语言文件操作工具库,它能帮你轻松处理各种文件操作场景... 目录为什么需要这个工具?核心功能详解1. 文件/目录存javascript在性检查2. 批量创建目录3. 文件

基于Python开发批量提取Excel图片的小工具

《基于Python开发批量提取Excel图片的小工具》这篇文章主要为大家详细介绍了如何使用Python中的openpyxl库开发一个小工具,可以实现批量提取Excel图片,有需要的小伙伴可以参考一下... 目前有一个需求,就是批量读取当前目录下所有文件夹里的Excel文件,去获取出Excel文件中的图片,并

基于Python开发PDF转PNG的可视化工具

《基于Python开发PDF转PNG的可视化工具》在数字文档处理领域,PDF到图像格式的转换是常见需求,本文介绍如何利用Python的PyMuPDF库和Tkinter框架开发一个带图形界面的PDF转P... 目录一、引言二、功能特性三、技术架构1. 技术栈组成2. 系统架构javascript设计3.效果图

基于Python开发PDF转Doc格式小程序

《基于Python开发PDF转Doc格式小程序》这篇文章主要为大家详细介绍了如何基于Python开发PDF转Doc格式小程序,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 用python实现PDF转Doc格式小程序以下是一个使用Python实现PDF转DOC格式的GUI程序,采用T

使用Python开发一个图像标注与OCR识别工具

《使用Python开发一个图像标注与OCR识别工具》:本文主要介绍一个使用Python开发的工具,允许用户在图像上进行矩形标注,使用OCR对标注区域进行文本识别,并将结果保存为Excel文件,感兴... 目录项目简介1. 图像加载与显示2. 矩形标注3. OCR识别4. 标注的保存与加载5. 裁剪与重置图像

Android开发中gradle下载缓慢的问题级解决方法

《Android开发中gradle下载缓慢的问题级解决方法》本文介绍了解决Android开发中Gradle下载缓慢问题的几种方法,本文给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧... 目录一、网络环境优化二、Gradle版本与配置优化三、其他优化措施针对android开发中Gradle下载缓慢的问

使用Go语言开发一个命令行文件管理工具

《使用Go语言开发一个命令行文件管理工具》这篇文章主要为大家详细介绍了如何使用Go语言开发一款命令行文件管理工具,支持批量重命名,删除,创建,移动文件,需要的小伙伴可以了解下... 目录一、工具功能一览二、核心代码解析1. 主程序结构2. 批量重命名3. 批量删除4. 创建文件/目录5. 批量移动三、如何安

Linux流媒体服务器部署流程

《Linux流媒体服务器部署流程》文章详细介绍了流媒体服务器的部署步骤,包括更新系统、安装依赖组件、编译安装Nginx和RTMP模块、配置Nginx和FFmpeg,以及测试流媒体服务器的搭建... 目录流媒体服务器部署部署安装1.更新系统2.安装依赖组件3.解压4.编译安装(添加RTMP和openssl模块