视频网站系统,用于观看视频,可以解析m3u8格式的视频并下载到本地,后台系统使用element-ui画界面,需要手动审核用户上传视频,管理员本身也可以上传视频,如前台有违规违法操作,可以禁用前台注册用户,还有一些审计功能,
技术栈:springcloud + vue + mybatis + jwt,全栈开发,持久化使用mysql,缓存层使用redis
技术要点:
1)nacos作为配置中心和注册中心,gateway作为网关,Hmily作为分布式事务框架
2)前台所有请求通过nginx转发到gateway,由网关路由到各个微服务
3)视频会调用ffmpeg进程做解码处理,得到视频时间和视频第一帧作为封面,并使用信号量控制进程的数量,避免打开过多进程造成CPU过高,并且使用钩子函数,JVM关闭会关闭打开的ffmpeg进程。
4)视频上传异步处理,后续批量同步状态。