第四天业务题

4-1 你们项目是如何是XXL-JOB的
XXL-JOB是一个分布式调度平台,作用类似于SpringTask,都是做一些定时任务。
在我的项目中,使用xxl-job大致流程如下,首先将xxl-job的调用中心微服务部署到虚拟机中,并启动
然后在需要定时任务的微服务中添加xxl-job的基本配置和依赖,添加定时任务的代码然后加上注解@xxljob,然后在xxl配置中心配置执行器,为执行器分配一个
执行端口,然后配置任务,主要是配置任务名称,调度Cron,路由策略等,然后根据业务选择同步策略,可选择的有同步双写,异步监听,MQ同步。
4-2 说一说你的评论点赞功能是如何完成(reids版本)
评论点赞功能需要和课程微服务相互配合实现,
首先,根据前端传来参数先判断是点赞还是取消点赞。如果是点赞的话,就用向redis中保存业务id作为key和用户id作为value,这里使用的是Set类型(保证对某个业务点赞的记录唯一),根据redis返回的结果,判断,如果数量为null或者0,用户已经给该业务点过赞了,直接结束流程,大于0,点赞成功。如果是取消点赞,直接根据业务id和用户id删除即可。返回结果同上。再然后根据业务id获取redis中点赞的个数,然后把业务类型做key,业务id做value,数量为score向redis中保存,这里使用Zset是因为他可以通过Score排序方便后续根据点赞数进行排序操作)。最后通过XXL-JOB定时任务,将业务ID和点赞数封装为参数向MQ投递消息。learning微服务监听MQ,消费消息。异步更新数据库。

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

唯一索引失效问题,当点赞表中的索引->idx_biz_user 

同时出现两条记录的biz_id为空 或者 user_id为空  会导致一些业务异常

解决方案: 唯一索引的字段设置为非空,因为空是允许重复的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值