4-1 你们项目是如何是XXL-JOB的
在我的项目中使用了xxl-job来实现定时任务的管理与执行,实现步骤具体有以下5步:
1.配置XXL-JOB Admin:首先,您需要部署XXL-JOB Admin,这是XXL-JOB的后台管理系统,用于配置和管理定时任务。
2.配置XXL-JOB Executor:将XXL-JOB Executor集成到您的Spring项目中,这是用于执行定时任务的组件。
3.创建定时任务Handler:在您的Spring项目中创建定时任务Handler类,该类需要实现XXL-JOB定义的接口,例如IJobHandler接口。
4.注册定时任务Handler:将您创建的定时任务Handler注册到XXL-JOB Admin中,这样Admin就能够管理和调度您的定时任务。
5.启动定时任务Executor:在您的Spring项目中启动XXL-JOB Executor,这样您的定时任务Handler就能够被Executor执行。
4-2 说一说你的评论点赞功能是如何完成(reids版本)
评论点赞这一业务中我们使用的微服务有点赞微服务(tj-remark)和学习微服务(tj-learning)
同时,为了解决点赞业务中的高并发的问题,我们在项目中引入了redis这一技术来进行优化
具体做法是将点赞的记录与点赞的数量这两部分信息存入redis中进行缓存
下面我简单为您说一下我们的业务流程
首先,在我们接收到用户端传来的提交点赞信息请求后,我们会先在redis的点赞记录缓存中进行查询
若点赞记录存在我们直接结束程序,若不存在我们将新的点赞记录存入redis缓存中
接下来我们会统计点赞的数量,统计完数量后我们将点赞数量存入redis中的点赞数量缓存,
点赞数量缓存会定期读取缓存中的点赞数量,若发现数量有变化,则会将消息投递到mq中
最后,我们在学习微服务中的监听器就可以监听到消息然后对数据库中的数据进行修改
4-3 项目过程有没有难题(业绩)
1.把点赞功能从Mysql存储改为Redis存储,大大提高了效率。
2.使用了xxl-job实现了延迟任务并进行了应用。