4-1 你们项目是如何是XXL-JOB的
XXL-JOB 是一个开源的分布式任务调度平台,主要用于解决企业级定时任务调度和管理的需求,以下是我们的项目中XXL-JOB的使用流程:
1.首先,需要将 XXL-JOB 的调度中心部署到服务器上
2.在 XXL-JOB 的调度中心上创建任务,并设置触发规则、执行器等相关配置
3.在任务执行的节点上注册执行器
4.根据任务的触发规则,调度中心会定时触发任务执行,根据注册的执行器进行任务的分发
5.执行器接收到任务后,根据任务的定义进行具体的任务执行,执行过程中可以记录任务的执行日志和状态,并上报给调度中心
6.最后,调度中心可以对任务执行日志进行管理和查询,监控任务执行情况,包括任务的执行状态、执行结果等
总体来说,XXL-JOB 提供了一个方便、可靠的任务调度平台,帮助企业统一管理和调度定时任务,提高任务执行效率和稳定性
4-2 说一说你的评论点赞功能是如何完成(reids版本)
在我们的项目中评论点赞功能主要用到了点赞微服务和学习微服务
1.首先,在前端页面点击点赞按钮后,会向点赞微服务发送点赞信息,其中有点赞业务id 点赞业务类型 是点赞还是取消点赞
2.然后点赞微服务会去Redis中查询点赞记录是否存在,如果已存在,说明已经点过赞,直接返回,如果不存在就将点赞记录存储在Redis中,然后统计点赞数量,再将数量存入Redis, 然后使用XXL-Job进行定时读取Redis中的点赞数量,投递到RabbitMQ中
3.在学习微服务中设置监听器,监听消息,将点赞数量同步到数据库中
以上就是我在项目中完成评论点赞功能的基本流程
4-3 项目过程有没有难题(业绩)
在项目中难题是不可避免的,在完成评论点赞功能时,我就遇到了难题
在初步完成点赞业务后,发现包含多次数据库读写操作,点赞操作波动较大,有可能会在短时间内访问量激增,此时会对数据库造成巨大压力
解决方法:采用redis缓存点赞数据,再使用XXL-JOB定时任务将数据更新到数据库中,这样就高效的减轻了MySQL数据库的压力