4-1 你们项目是如何是XXL-JOB的
我们在项目中使用XXL-Job主要来管理定时任务。
首先需要搭建XXL-Job的运行环境,包括配置数据库和任务调度中心等组件。
然后通过调度中心创建定时任务或分布式任务,并设置任务的执行方式、参数、调度策略等。
之后添加执行器,一般一个执行器对应一个微服务,然后再配置相关任务。
最后可以在调度日志中查看任务的执行情况、日志输出和异常信息。
4-2 说一说你的评论点赞功能是如何完成(reids版本)
在项目中我们使用redis缓存点赞数据。
首先,当提交点赞信息后,先判断点赞记录是否存在,如果存在则直接返回,如果不存在,
Redis中新增点赞记录。
然后统计点赞数量,并将数据缓存到redis。
之后可以使用XXL-Job进行定时读取Redis中的点赞数量,并将其投递到RabbitMQ中。
最后设置监听器监听RabbitMQ,将点赞数量同步到数据库中。
4-3 项目过程有没有难题(业绩)
最开始我们的评论点赞功能时使用的MySql,但每次前端发送点赞请求时,都需要进行4次数据库读写操作,在高并发时,数据库压力过大。
之后我们将代码重构,通过添加缓存,将点赞记录和点赞数量统计保存在了Redis中,并将同步写改为异步写,合并写请求,提高了系统的并发处理能力。设置定期任务,定期将Redis中的点赞数量统计通过消息队列(MQ)更新到MySQL数据库中。