4-1 你们项目是如何是XXL-JOB的
是这样的,使用XXL-JOB一共有两个段,分别是代码端和任务调度中心。
1、任务调度中心一般作为一个微服务单独部署,在调度中心配置我们代码的执行策略。
2、首先将我们的任务调度中心部署出来,然后编写我们的代码,同时在编写的代码上加上@XxlJob注解给代码加上任务名称。
3、在我们的代码端的配置文件中配置任务调度中心的相关配置项,同时在我们的任务调度中心需要配置一个执行器,连接上对应的微服务。
4、给执行器配置相关的任务,指定相关的执行策略,这样就可以启动我们的代码查看效果了。
4-2 说一说你的评论点赞功能是如何完成(reids版本)
首先,当提交点赞信息后,先判断点赞记录是否存在,如果存在直接结束。
如果不存在,向Redis中新增点赞记录,需要记录业务id以及给业务点赞的所有用户id,由于一个业务可以被很多用户点赞,使用Set来记录。
之后统计点赞数量,点赞次数需要记录业务类型、业务id、点赞数三个信息,有两种结构都可以满足:
Hash:传统键值对集合,无序
SortedSet:基于Hash结构,并且增加了跳表,因此可排序,但更占用内存
使用XXL-JOB,定时向MQ发送消息,更新数据库。
4-3 项目过程有没有难题(业绩)
最先评论点赞功能时使用的MySql,后来发现这个功能却需要对数据库读写多次,并且在高并发时,数据库完全承受不住压力,于是加入了缓存redis,降低了数据库压力。