前言
局部开发者在着手搭建自建渲染服务时会产生一些疑难,本文以我司云渲染产品的架构进行举例,不便客户了解云渲染部署须要做哪些事件。
服务器环境和 SDK 部署
首先下载 SDK,并集成进开发环境中 http://www.seeshiontech.com/docs/page_8.html。
装置依赖
首先须要禁用默认的显卡驱动
sudo vim /etc/modprobe.d/blacklist-nouveau.conf
- 增加以下内容:
blacklist nouveauoptions nouveau modeset=0
- 保留退出后, 执行上面命令更新 kernel initramfs
sudo update-initramfs -u
- 重启之后,运行上面的命令, 查看 nouveau 有没有运行:
lsmod | grep nouveau
- 没有输入代表禁用失效
其次须要装置相干依赖
apt-get -y install dirmngr
apt-get -y install software-properties-common
sudo apt-key adv --keyserver
keyserver.ubuntu.com --recv-keys 8CF63AD3F06FC659
add-apt-repository ppa:jonathonf/ffmpeg-4
apt-get update
apt-get -y --allow-unauthenticated install ffmpeg
apt-get -y install libfreeimage3
装置对应的显卡驱动
模板治理局部
后端将保护一个资源列表,保留着模板的压缩包以及 config.json 文件。在用户拜访前端页面时,将依据用户抉择的模板 id 返回模板的 config.json 文件给前端,前端将用这个文件生成编辑界面。
工作生成局部
后端须要裸露一个 web 接口,这个接口会接管自前端提交来的渲染和用户相干的数据,前端上传好相干素材,将素材的下载连贯、文字内容、模板 id 提交到 web 接口中。
在后端接口接管到模板 id、素材下载地址、文字内容后,可自行进行一些业务解决,尔后将组合好的工作数据推入一个队列中。
工作解决局部
负责解决渲染工作的业务代码须要和工作生成的业务逻辑拆离开,可将编译好的渲染平台代码放在多个 GPU 服务器中运行。
渲染平台须要程序做以下工作。
- 监听渲染工作队列,抢占式获取渲染工作。
- 筹备渲染数据:
a. 下载工作数据中的模板地址、图片素材、视频素材、音频素材
b. 将下载好的素材的本地门路以及渲染工作中的文字信息混合好,按官网中要求的 replaceJson 格局生成渲染工作数据 - 启动渲染,并期待渲染后果。
- 渲染完结后向渲染后果队列中传入渲染后果告诉数据。
服务监控局部
服务监控平台将负责以下工作
- 继续监听渲染后果队列,在获取到音讯时,依据工作后果作相应解决。
- 每隔一段时间查问最近时间段内的工作的失败状况