1. 你们项目是如何使用XXL-JOB的
XXL-JOB是一种常用于分布式系统的定时任务。
首先,需要搭建基础环境,在配置中心中加入我们的调度中心的名称与端口,打开调度中心,设置与本地一致的执行器,与我们的微服务连接起来,连接成功后,可以在配置中心中查看任务的执行记录、日志和报警信息,及时处理任务执行过程中的异常和错误。
这就是我们项目中如何使用XXL-JOB的。
2. 说一说你的评论点赞功能是如何完成(reids版本)
在项目中,评论点赞数据存储在Redis,实现步骤如下:
前端提交点赞信息后,查询Redis中是否存在点赞记录。如果存在,则直接返回;如果不存在,则将记录存入Redis。统计点赞数,并将其存入Redis。使用XXL-Job进行定时读取Redis中的点赞数量,并将其投递到RabbitMQ中。设置监听器监听RabbitMQ,将点赞数量同步到数据库中。
通过以上步骤,我们实现了评论点赞数据的Redis存储和定时同步到数据库的功能。
3. 项目过程有没有难题(业绩)
在点赞上我们遇到了难题,最初我们的点赞数据都是直接存放在MySQL中,一次点赞需要向MySQL进行四次写请求,这种情况容易引起高并发的问题。
我们的解决方式是设置定期任务,先将一段时间的点赞的记录和统计信息存入redis中,合并写请求,定期向MySQL中更新一段时间的点赞记录。