工作描述:
1、项目开发与实施:参与公司多个核心系统的研发工作,包括后台服务、Web应用及数据
交互模块的开发。
2、代码编写与维护:使用Java进行业务逻辑实现,遵循公司编码规范,确保代码质量;负
责模块的单元测试,提高代码的稳定性和可维护性。
3、数据库设计与优化:参与数据库设计,使用MySQL、Oracle等关系型数据库,对数据库
性能进行优化,提升数据访问效率。
. 用户登录:采用 JWT+MD5 实现用户的无状态登录,使用 SpringCloud 的 gateway 组件的全局
过滤器进行请求拦截,检查用户是否处于登录状态。使用过滤器+ThreadLocal 保证登录用户的线
程安全问题。
2. 平台管理:后台管理系统功能模块实现包括:后台管理系统用户登录和网关部署,频道、敏感词、
用户认证审核管理功能。
3. App 端文章查看:使用 Freemaker 作为文章内容模板技术生成静态 HTML 页面,Minio 作为文章
静态页面的分布式文件系统,避免了文章大文本内容直接存储 Mysql,减轻了数据库压力。
4. 文章审核:自媒体端发布文章,Fegin 调用 App 端微服务通过第三方阿里云的内容安全服务来审
核文章内容是否违规,如果未违规则会发布成功在 App 端保存文章,违规则审核失败,如果返回
不确定,则进入后台人工审核。
5. 发布文章:文章发布可以选择发布时间,采用延迟任务技术,有三种方式:JDK 自带的
DelayQueue,Redis 的 ZSet 数据结构,文章发布时间作为 score 排序,RabbbitMQ 中的死信交
换机和 TLL 控制消息存活时间,本项目采用 Redis 实现延迟任务,将 ZSet 作为未来数据对列和
List 作为当前消费队列