day4--1.16XXL-job+点赞评论+项目难题

4-1 你们项目是如何使用XXL-JOB的

        使用XXL_JOB一共有两个端,一个是控制中心,另一个是代码端。

控制中心:一般是作为一个软件或者是一个微服务单独部署,在控制中心配置代码的执行策略。

代码端:

1.在最开始先将控制中心配置出来,

2.然后需要编写代码,在方法上我们加一个@XXL-JOB注解,里面写上任务的标识(给代码起任务的名称)

3.在代码端配置文件中配置关于调度中心的配置项

4.最后在控制中心配置一个任务执行器,连接对应的微服务,一个执行器对应一个微服务

5.在某一个执行器下配置相关的任务,就是配相关的执行时间策略,一个执行器可以配多个任务(一个微服务可以有多个微服务)

最后选择执行,我们就在调度日志看到结果。


4-2 说一说你的评论点赞功能是如何完成(reids版本)

我们的点赞功能中的点赞记录和点赞数量都是存储在Redis中。

1.首先,当点赞请求发过来,先去Redis中查询是否存在该用户的点赞记录,如果存在则直接结束,返回结果;如果不存在就将该用户的点赞记录保存到Redis中,

2.然后,统计点赞数量,将统计结果保存到Redis中,

3.最后,我们通过XXL_JOB设置定期任务,向MQ投递消息(业务id,点赞数量),定期将Redis中的点赞数量统计通过MQ更新到MySql数据库。哪个微服务用到便用程序监听MQ,消费消息。

以上就是通过redis实现的点赞功能。
 

4-3 项目过程有没有难题(业绩)

在项目过程中确实有遇到过难题,是一个点赞功能的优化。

最初我们项目的点赞功能是使用MySql实现的,点赞记录和点赞统计都是保存在了MySql中,这样导致每次点赞请求发过来的时候需要有4次读写数据库的操作,效率比较低。而且点赞是一个高并发的场景,造成过数据库压力过大的结果,影响效率。

解决方案:

后来将代码重构,我们通过添加缓存,将点赞记录和点赞统计保存在了Redis中,

并且,将同步写改为了异步写,合并写请求。设置定期任务,定期将Redis中的点赞数量统计通过MQ更新到MySql数据库。
 

  • 7
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值