视频直播点播平台EasyDSS如何进行集群?

摘要:
EasyDSS集群由于我们有很多产品,本文将以EasyDSS视频点播平台为例。当然,我们的其他流媒体服务器集群也有同样的想法。如果以后有机会,我也会系统地向您介绍我们产品的集群方向。EasyDSS流媒体服务器播放效果:

集群需求

为了应对越来越多的大流量、大并发的应用场景,TSINGSEE的各款产品都需要具备有集群部署的框架思路,所谓集群化,需要达到的一个最基础的目标是,假设弹性扩容100台主机,如何能够通过简单的主机开通和接口配置,即可达到集群化调度与服务。

EasyDSS集群

由于我们的产品众多,本文就拿EasyDSS视频直播点播平台来举例,当然我们其他的流媒体服务器集群的思路也大抵如此,如果之后有机会,我也将和大家系统性的介绍我们产品的集群方向。

视频直播点播平台EasyDSS如何进行集群?第1张

集群目标

当EasyDSS为单服务运行时,只需要读取本地db数据库及维护内存临时数据即可,包括设备信息、视频信息、用户信息、token信息等,当EasyDSS启用集群,则需要向整个集群共享EasyDSS的所有设备信息、视频信息、用户信息、token信息以及服务本身的IP/Port/负载/能力等信息,方便整个集群可以按照约定的算法进行流量的调度;

集群思路

整个EasyDSS集群采用redis进行数据共享的方法,EasyDSS划分类型,例如:源站服务类型、边缘服务类型、中心服务类型,源站类型主要用来接收直播推流、文件上传、视频资源输入,边缘服务类型为直接面向客户端的分发节点,视频数据均是从中心节点或者源站节点拉取或者转推而来,具体可研究一下CDN的源站和边缘设计方法,早期也可简化方案,只需要2种服务类型,源站和边缘分发。

  • 各个服务将点播、直播等信息共享到redis,任何边缘服务都可以获取到集群全局的点播和直播资源;
  • 可采用智能域名解析,单个域名根据不同区域解析得到不同的ip结果,访问对应的集群边缘服务;
  • 在部署集群时,只需要启用集群,并配置对应的服务类型和共享到的redis地址,即可快速开启集群服务。

EasyDSS流媒体服务器播放效果:

视频直播点播平台EasyDSS如何进行集群?第2张

免责声明:文章转载自《视频直播点播平台EasyDSS如何进行集群?》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇视频直播点播平台EasyDSS集成H.265报WasmPlayer is not defined错误问题海康定制RTMP推流摄像头如何接入EasyDSS视频直播点播平台?下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

windows 怎样关闭redis

安装redis之后在命令行窗口中输入 redis-server redis.windows.conf 启动redis关闭命令行窗口就是关闭 redis。---redis作为windows服务启动方式redis-server --service-install redis.windows.conf启动服务:redis-server --service-st...

Redis 数据结构的实现

Redis 数据结构的实现 先看个对照关系: Redis数据结构 实现一 实现二 string 整数(如果value能够表示为整数) 字符串 hash 压缩列表(只包含少量键值对, 并且每个键值对的键和值要么就是小整数值, 要么就是长度比较短的字符串) 字典 list 压缩列表(只包含少量列表项, 并且每个列表项要...

redis中的key的复制

redis中Set集合SortSet有序集合的复制 本文链接:https://blog.csdn.net/chwshuang/article/details/52850093 redis中Set集合SortSet有序集合的复制 redis集合类型中是没有复制命令的,我所说的复制,是通过redis 的其他指令来实现 需求:将key1的...

springboot(十八)-session共享

前言 在传统的单服务架构中,一般来说,只有一个服务器,那么不存在 Session 共享问题,但是在分布式/集群项目中,Session 共享则是一个必须面对的问题,先看一个简单的架构图: 在这样的架构中,会出现一些单服务中不存在的问题,例如客户端发起一个请求,这个请求到达 Nginx 上之后,被 Nginx 转发到 Tomcat A 上,然后在 Tom...

redis----java操作redis

添加jar包 <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>3.0.1&...

redis 中文存储乱码问题

在redis 中存储中文,读取会出现乱码(其实不是乱码,只是不是我们存的中文显示) 1 redis> set test "我们" 2 OK 3 redis> get test 4 "xe6x88x91xe4xbbxac" 如何在get时取到它的中文呢?只需要在redis-cli 后面加上--raw redis> ge...

最新文章