第四天业务题

发布时间:2024年01月18日

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为空? 会导致一些业务异常

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

文章来源:https://blog.csdn.net/adddad/article/details/135663100
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。