视频网站系统,用于观看视频,可以解析m3u8格式的视频并下载到本地,前台使用vant画界面,主要功能就是播放视频,上传视频,查看用户信息,主要做手机浏览器界面,后期还会添加评论系统等功能
技术栈:springcloud + vue + mybatis + jwt,全栈开发,持久化使用mysql,缓存层使用redis
技术要点:
1)nacos作为配置中心和注册中心,gateway作为网关,Hmily作为分布式事务框架
2)前台所有请求通过nginx转发到gateway,由网关路由到各个微服务
3)视频会调用ffmpeg进程做解码处理,得到视频时间和视频第一帧作为封面,并使用信号量控制进程的数量,避免打开过多进程造成CPU过高,并且使用钩子函数,JVM关闭会关闭打开的ffmpeg进程。
4)视频上传异步处理,后续批量同步状态。