使用springcloud框架完成的视频网站,功能有用户和视频的管理,视频的播放点赞评论检索,用户点赞等。技术点如下:
● 微服务配置中心生产时基于zookeeper实现,可动态更新配置
● 用户的权限管理和单点登录方面使用oauth2和jwt实现
● 视频检索方面使用elasticsearch实现,可根据喜好或关键字来检索,视频名支持ik分词。通过聚合查询获得最热视频
和用户
● 视频的点赞和评论功能使用redis实现,其数据通过quartz定时存入数据库
● 视频模块添加视频后,通过rabbitmq储存视频id和session,然后在搜索模块获得消息,再根据视频id和session通过
feign来获得视频信息,最后加入elasticsearch里面。rabbitmq过程事务化,保证视频添加万无一失
● 用户点赞方面使用redis锁保证点赞和取消点赞的原子性,同时可换用mysql悲观锁和zookeeper分布式锁来实现
● 频繁查询的用户和用户头像通过spring cache和redis提高查询速度
● 用户头像,视频等都存在fastdfs上
●