day04面试题

4-1 你们项目是如何部署XXL-JOB的

在我们项目中使用使用XXL-JOB定时任务用于分布式系统

首先是在本地搭建基础的环境,参考官方文档,,然后在本地配置中添加配置项包含调度中心的名字和执行器的端口.并且在定期任务上使用@XXLJOB注解,声明执行器的端口.在调度中心的网址创建新的执行器,执行器的名称和地址要与本地保持一致,然后创建任务,任务中jobhandle和@xxljob指定的名字一致。

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

点赞的服务是通过Redis来完成的

首先用户点击点赞按钮的时候,后端会判断是点赞还是取消点赞,如果是点赞,则使用redis(set类型)

中存储业务id和用户id,返回的结果就是点赞是否成功,如果成功,则返回redis中数据变更的数量,否则返回0或者null.;如果是取消,直接根据业务的id和用户的id直接删除那一条数据.同理返回的结果是redis中修改的数量.如果是0或者null,责删除失败,抛出异常,流程结束,如果大于0,说明删除成功.

然后redis用rset封装每一个业务类型下,每一条评论的点赞数据.业务类型作为key,业务id作为value,点赞数量作为score.

最后通过XXL-JOB定时任务来向mq投递消息,需要被调用service的微服务监听这个mq,消费消息,获取数据进行后续的处理.

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

难题是经常遇到的,但是我们程序员最不缺乏的就是攻克和解决难题的毅力和头脑.

最开始我编写评论点赞功能的时候,直接使用的数据库MYSQL,虽然也很好地实现了功能,通过测试,我发现对数据库的访问次数过于频繁以及运行时间较长等问题.我意识到高并发情况下数据库可能会承受不住压力,因此经过我的深思熟虑,我在点赞模块中添加了redis和XXLJOB定时任务,从而在保证了业务的正常功能的同时,实现了减小了高并发时数据库的压力.同时也将数据最终保存到了数据库中.

  • 10
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值