您现在的位置:首页 > 文档 > 架构
从技术的角度理解Ti Top Streamer的架构,将非常有助于您熟练使用它。如果你是负责这个软件运维的工程师,那就更应该理解它的架构,只有这样,你才能更从容得应对各种可能出现的问题。
毕竟,在私有部署场景下,每个客户的运行环境(硬件、操作系统、网络、系统配置)都有或多或少的差异。
熟悉软件开发的技术人员可能对"架构"这个词有很多体会,因为"架构"有很多方面,有逻辑上的架构,有物理上的架构,有代码上的架构。因为Ti Top Streamer目前还是一个商业软件,所以,在这里我们更多的是介绍
它在部署层面的物理架构,并不会涉及"代码中用了xxx技术"这样的话题。也就是说我们这里介绍的都是您能看得见、摸得着的"应用程序"和"进程",而不是代码。
您需要了解并熟悉Ti Top Streamer的架构,还有一个很显而易见的原因:它会让你更熟练的进行安装、升级、卸载、服务启动、服务停止这些基本工作。
下面开始介绍"架构",首先从一张图开始:
1、虚线框里面的部分就是整个Ti Top Streamer,它由四个部分组成: Streaming Engine、Config Server、Rest Server、Web Server。其中Streaming Engine是一个独立的进程,其它部分是另外一个独立的进程。这些模块之间通过HTTP接口交互。
2、Streaming Engine和Config Server 是整个Ti Top Streamer的核心部件。Streaming Engine对外提供媒体流服务,Config Server上保存了所有的配置信息、策略信息(例如认证信息、拉流url等)以及License信息。
3、Rest Server负责对外提供Http Rest服务,以实现基本的管理和控制功能,它和视频流的运行本身没有任何关系。
4、Web Server是一个基于WEB的管理控制台,也就是面向管理员的操作界面,有了它使用起来就会很方便。记住:Web Server的运行依赖Rest Server的运行,你可以将它理解为基于Rest Server之上的一个Web Application。
下面就几个典型的场景,介绍一下内部的工作流程:
1、Streaming Engine在启动时,会向Config Server发起一个请求,用于获得运行所必需的信息,例如rtmp流服务的TCP端口是多少?HLS和FLV流服务的TCP端口是多少?软件的License Key是什么?是在线授权还是离线授权?启动时要从哪些源拉流?
2、外部编码器或手机端用rtmp协议推流到Streaming Engine后,Streaming Engine会携带相关参数向Config Server发起认证请求,Config Server根据配置信息做应答,Streaming Engine根据应答决定接受推流还是拒绝推流,以及如果接受推流后是否要将流转推到某个第三方系统/CDN。
其它业务场景,也都类似,您只要理解一点:Streaming Engine只是负责媒体流的服务,所有需要的配置信息都在Config Server中保存。