云转码前后端分离方案之独立主程序的同步脚本,自动监听并且同步切片文件

云转码脚本

2022-04-06T02:58:03.193Z

前言

最近,智能高级云转码切片系统推出了云储存的功能,可以直接对接MINIO和亚马逊的S3,自建MINIO对象储存非常简单,但是有很多用户的由于机器原因,导致主程序经常重启,程序自动重启之后,监听和同步进程就会自动断开,所以我制作了这个非常简单的异步同步策略,非常的简单,和Rsync+Inotify非常相似,但是比Rsync+Inotify方案要简单的多。通过这个同步脚本和mongoshake工具,就可以做到高级版的前后端分离,转码一台机器,提供CMS播放服务的是另外一个机器。

第一步、在转码机器安装MC命令行工具

cd ~
wget https://dl.min.io/client/mc/release/linux-amd64/mc -P /usr/local/bin/
chmod +x /usr/local/bin/mc

第二步、设置云储存服务,前提你已经在另外一台服务器安装了minio服务

#修改你的minio服务器地址
miniolocal="http://207.6.8.59:9000"
#修改你的minio服务器access key
accesskey="V0S48QPGIGX3B"
#修改你的minio服务器secret key
secretkey="cga2BPc0NcvetPDufSj4SxaC"
#运行命令
mc config host add minio ${miniolocal} ${accesskey} ${secretkey} S3v4

第三步、设置同步文件夹,并且持续监听同步。

比如你的转码之后的切片目录是/www/express-ffmpeg/public/videos/,那么持续的同步命令行即是:

#创建一个桶,名称为back
mc mb minio/back
#修改你的转码切片目录
qiepian="/www/express-ffmpeg/public/videos/"
#新建systemd配置文件,适用CentOS 7、Debian 8+、Ubuntu 16+,将以下代码一起复制到SSH运行
cat > /etc/systemd/system/mc.service <<EOF
[Unit]
Description=mc
After=network.target

[Service]
Type=simple
ExecStart=$(command -v mc) mirror --overwrite -w ${qiepian} minio/back
Restart=on-failure

[Install]
WantedBy=multi-user.target
EOF
#然后启动并设置开机自启
systemctl start mc
systemctl enable mc

设置好了你会发现你所有切片之后的内容都会自动同步到你的minioback这个桶中。

关于mongoshake的数据库增量同步方案,我们下次再讲,通过自动同步和mongshake增量同步,就可以做到智能云转码高级版的前后端分离。