仿b站微服务项目简历话术(开箱即用版)
●使用Nginx进行反向代理和动静分离,隐藏了后端服务的真实入口来增强安全性,缓存了静态资源,极大的提升了页面的响应速度
●使用Gateway固定请求入口,统一管理请求并路由转发,简化了与客户端通信并有利于负载均衡的拓展,降低了服务端压力
●实现了账号密码、邮箱、手机号的登录注册与重置密码,使用户可通过多种方式登录注册,提升了用户体验
●Spring Security+JWT实现统一鉴权与授权和单点登录,避免了每个服务都需要重复进行身份验证和权限检查的问题,只需登录一次就可
以访问所有相关的服务和应用,提高了用户体验
●双JWT实现无感刷新token,降低了调用api令牌被挟持造成巨大影响的风险同时又能让用户可以自动地在后台获取新的访问令
牌,无需重新登录或进行任何交互,解决了用户还在访问网站就需要重新验证的问题
●将长token放入了HttpOnly-Cookie,存储在无法被前端js脚本访问到的HttpOnly-Cookie降低了xss风险,并通过自定义请求头
实现拦截非自己网站源发起的请求,降低了CSRF风险
●使用OpenFeign+Nacos进行服务间的发现与远程调用,避免了相同功能重复编写接口的问题,并通过实现MultipartFile接口与将视频流装进
InputstreamResource类实现了服务间的文件流传输,解决传统feign调用难以传递文件流的问题
●实现了分片上传,避免了上传大文件时上传速度过慢的问题,提升了用户体验
●实现了断点续传,避免了上传文件中断需要从头再传的问题,提升了用户体验
●利用JAVE转MP4文件编码解决用户上传的视频无法在浏览器中播放的问题
●实现了用户上传视频后自动返回截取帧的图片给用户方便用户拖拉图片到实际封面中,增加了内容吸引力,同时通过给未提交封面的自动截取
封面防止了视频最终无封面的问题
●使用CompletetableFuture进行异步处理,提升了请求的响应速度,并通过固定异步任务执行顺序解决了转码时获取视频数据空指针问题
●使用Minio存储视频数据,避免了直接将文件流转为二进制存入数据库时新增和查询速度慢的问题,提升了响应速度
●使用Hutool转换文件流成Base64编码字符串、检查上传视频文件是否是MP4文件,轻松实现文件流到Base64字符串的转换而无需额外实现
转换逻辑,并降低了被上传扩展名为MP4的恶意文件导致服务器被攻击的风险
●使用可重用的ByteArrayInputstream解决检查文件后上传的视频流不可用的问题
●使用ConcurrentHashMap实现仿redis缓存存取值、过期值,增强了特殊不方便使用redis的情况下的缓存能力,并且由于缓存数据存储在jvm进程
内存中,极大的提升了缓存的存取速度
●使用继承JsonSerializer类的方式按规则自定义特定属性Json序列化值,提升了响应值序列化的灵活性和扩展性
●异步发送转码视频通知时通过Redis进行限流和轮询确认是否可以发消息到RocketMQ中,解决了同时转码多个视频导致服务器负担过大问题
●使用了分布式的XXL-JOB框架作为定时任务框架,使定时任务执行策略更丰富、执行过程可视化、错误更快被发现与定位
●XXL-JOB+Redis+布隆过滤器+RocketMq+OpenFeign实现自定义ElasticSearch与MySQL数据同步,增强了数据同步灵活性
●使用RocketMQ发送与消费视频动态、点赞、评论、私聊、转码消息,并封装点赞与取消点赞为一个实体类再顺序消费解决消息消费顺序异常问题
●ElasticSearch实现关键字补全、关键字高亮,有利于用户更准确查询到想查询的视频或用户
●ElasticSearch实现关键字搜索视频和用户与按条件重排序,解决了传统MySQL模糊查询不够精确的问题,并通过使用ElasticSerach提升了搜索响应速度
●通过实现Mybatis-plus的MetaObjectHandler接口方式实现自动填充值,减少了在业务中手动填充值的繁琐
●通过Mybatis-plus-join实现函数式联表查询,在处理简单多表查询时可以省去xml文件编写而直接在业务层解决
●通过logback-spring.xml读取配置文件的方式实现配置文件标注模块名即可输出全部服务的全部级别日志到同一目录下,统一
查看日志,加快了查看多服务日志解决问题的速度
●使用客户端仅与服务端建立连接的设计实现只需知道另一个客户端对应用户的用户id即可实时通信私聊
●集成讯飞星火大模型实现文生文、文生图,并通过二次封装的形式扩展只能生成ppt大纲的api实现输出完整的ppt大纲加详述
后续还会更新
项目地址https://labilibili.com,github地址https://github.com/aigcbilibili/aigcbilibili,演示地址https://labilibili.com/video/演示.mp4,如果大家觉得有帮助的话可以去github点个小星星
●使用Gateway固定请求入口,统一管理请求并路由转发,简化了与客户端通信并有利于负载均衡的拓展,降低了服务端压力
●实现了账号密码、邮箱、手机号的登录注册与重置密码,使用户可通过多种方式登录注册,提升了用户体验
●Spring Security+JWT实现统一鉴权与授权和单点登录,避免了每个服务都需要重复进行身份验证和权限检查的问题,只需登录一次就可
以访问所有相关的服务和应用,提高了用户体验
●双JWT实现无感刷新token,降低了调用api令牌被挟持造成巨大影响的风险同时又能让用户可以自动地在后台获取新的访问令
牌,无需重新登录或进行任何交互,解决了用户还在访问网站就需要重新验证的问题
●将长token放入了HttpOnly-Cookie,存储在无法被前端js脚本访问到的HttpOnly-Cookie降低了xss风险,并通过自定义请求头
实现拦截非自己网站源发起的请求,降低了CSRF风险
●使用OpenFeign+Nacos进行服务间的发现与远程调用,避免了相同功能重复编写接口的问题,并通过实现MultipartFile接口与将视频流装进
InputstreamResource类实现了服务间的文件流传输,解决传统feign调用难以传递文件流的问题
●实现了分片上传,避免了上传大文件时上传速度过慢的问题,提升了用户体验
●实现了断点续传,避免了上传文件中断需要从头再传的问题,提升了用户体验
●利用JAVE转MP4文件编码解决用户上传的视频无法在浏览器中播放的问题
●实现了用户上传视频后自动返回截取帧的图片给用户方便用户拖拉图片到实际封面中,增加了内容吸引力,同时通过给未提交封面的自动截取
封面防止了视频最终无封面的问题
●使用CompletetableFuture进行异步处理,提升了请求的响应速度,并通过固定异步任务执行顺序解决了转码时获取视频数据空指针问题
●使用Minio存储视频数据,避免了直接将文件流转为二进制存入数据库时新增和查询速度慢的问题,提升了响应速度
●使用Hutool转换文件流成Base64编码字符串、检查上传视频文件是否是MP4文件,轻松实现文件流到Base64字符串的转换而无需额外实现
转换逻辑,并降低了被上传扩展名为MP4的恶意文件导致服务器被攻击的风险
●使用可重用的ByteArrayInputstream解决检查文件后上传的视频流不可用的问题
●使用ConcurrentHashMap实现仿redis缓存存取值、过期值,增强了特殊不方便使用redis的情况下的缓存能力,并且由于缓存数据存储在jvm进程
内存中,极大的提升了缓存的存取速度
●使用继承JsonSerializer类的方式按规则自定义特定属性Json序列化值,提升了响应值序列化的灵活性和扩展性
●异步发送转码视频通知时通过Redis进行限流和轮询确认是否可以发消息到RocketMQ中,解决了同时转码多个视频导致服务器负担过大问题
●使用了分布式的XXL-JOB框架作为定时任务框架,使定时任务执行策略更丰富、执行过程可视化、错误更快被发现与定位
●XXL-JOB+Redis+布隆过滤器+RocketMq+OpenFeign实现自定义ElasticSearch与MySQL数据同步,增强了数据同步灵活性
●使用RocketMQ发送与消费视频动态、点赞、评论、私聊、转码消息,并封装点赞与取消点赞为一个实体类再顺序消费解决消息消费顺序异常问题
●ElasticSearch实现关键字补全、关键字高亮,有利于用户更准确查询到想查询的视频或用户
●ElasticSearch实现关键字搜索视频和用户与按条件重排序,解决了传统MySQL模糊查询不够精确的问题,并通过使用ElasticSerach提升了搜索响应速度
●通过实现Mybatis-plus的MetaObjectHandler接口方式实现自动填充值,减少了在业务中手动填充值的繁琐
●通过Mybatis-plus-join实现函数式联表查询,在处理简单多表查询时可以省去xml文件编写而直接在业务层解决
●通过logback-spring.xml读取配置文件的方式实现配置文件标注模块名即可输出全部服务的全部级别日志到同一目录下,统一
查看日志,加快了查看多服务日志解决问题的速度
●使用客户端仅与服务端建立连接的设计实现只需知道另一个客户端对应用户的用户id即可实时通信私聊
●集成讯飞星火大模型实现文生文、文生图,并通过二次封装的形式扩展只能生成ppt大纲的api实现输出完整的ppt大纲加详述
后续还会更新
项目地址https://labilibili.com,github地址https://github.com/aigcbilibili/aigcbilibili,演示地址https://labilibili.com/video/演示.mp4,如果大家觉得有帮助的话可以去github点个小星星
全部评论
有教程视频不,还有这个适合新手学吗
佬,有简短一点的简历写法不?
博主~我问下项目里是如何使用Nginx进行反向代理和动静分离~因为我看好像没有Nginx 的配置文件诶
相关推荐
10-27 14:09
腾讯云智研发_网络产品中心_后台开发(准入职员工) 在摸鱼的香菇很想退休:感觉佬的经历是我曾经想过的 我最开始想学计算机是因为我想写游戏脚本 不过后来上大学走偏了去打竞赛了 不过算是找到另外一个爱好了 从结果来看感觉还是学历加非科班吃了亏 不过现在形式不好 读研也不一定能有更好的结果 还是祝愿佬拿到更多更好的offer吧 感觉你真的很优秀
点赞 评论 收藏
分享