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


    集群需求

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

    EasyDSS集群

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

    集群目标

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

    集群思路

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

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

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

  • 相关阅读:
    struts2文件上传报错
    简述算法和程序的区别并举例说明
    JAVA中TreeMap集合筛选字母及每一个字符出现的次数
    Myeclipse2014破解步骤
    修改ubuntu的终端提示符
    gcc 引用math.h头文件,编译出现undefined reference to `pow‘等错误时,需要加参数lm.
    几篇文章
    gdb调试gcc出现:Missing separate debuginfos, use: debuginfoinstall glibcx.i686
    【达内C++学习培训学习笔记系列】C语言之三循环语句和数组
    code::block之spell checker配置
  • 原文地址:https://www.cnblogs.com/easydss/p/13253894.html
Copyright © 2020-2023  润新知