day04-逻辑流程

1.你们项目是如何是XXL-JOB的

XXL-JOB是一个轻量级分布式任务调度平台,旨在提供简单易用、功能丰富的任务调度服务。在我们的项目中,我们使用了XXL-JOB的以下功能和特点:

  1. 任务调度:通过XXL-JOB,我们可以轻松地安排任务的执行时间和执行频率,以确保任务在规定的时间内完成。
  2. 任务分发:XXL-JOB可以将任务分发到不同的执行器(Executor),实现任务的分布式处理,提高处理效率和可靠性。
  3. 任务结果存储:XXL-JOB支持将任务执行结果存储在数据库中,方便我们随时查看任务的执行情况和分析结果。
  4. 任务失败重试:当任务执行失败时,XXL-JOB支持自动重试,并可配置重试次数和重试间隔,以确保任务能够成功执行。
  5. 任务日志查看:通过XXL-JOB,我们可以方便地查看任务的执行日志,了解任务执行过程中的详细信息和异常处理。
  6. 执行器管理:XXL-JOB提供了执行器的管理功能,可以方便地添加、删除和修改执行器,实现动态扩展任务处理能力。

一般来说,使用xxl-job的过程大致如下:

  1. 集成xxl-job:将xxl-job的jar包引入项目中,并进行相应的配置。
  2. 定义任务:编写需要定时执行的任务代码,并使用xxl-job提供的注解或配置进行标识。
  3. 注册任务:将定义的任务注册到xxl-job的任务管理中心。
  4. 启动任务:启动xxl-job的执行器,执行器会定时去任务管理中心拉取任务并执行。

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

当用户进行点赞或取消点赞操作时,首先判断用户的行为。如果是点赞,将用户ID和业务ID保存到Redis中的集合(Set类型),并返回Redis中数据变更的数量。如果数量为null或0,表示用户已经点过赞,操作结束;如果大于0,表示用户还未点赞,点赞成功。

如果是取消点赞,则直接根据业务ID和用户ID从Redis中删除相应的记录。同样地,返回的结果是Redis中数据变更的数量。如果数量为null或0,表示删除失败,操作结束;如果大于0,则表示删除成功。

接着,根据业务ID从Redis中获取点赞的数量。如果数量为null,则将其设置为0,并将业务ID和数量作为score保存到Redis的有序集合(ZSet)中。

最后,通过XXL-JOB定时任务,向消息队列(MQ)投递消息(包括业务ID和点赞数量)。其他微服务可以通过监听MQ消息,实现对点赞数量的更新和相应的业务处理。

这种设计方案考虑了点赞功能的各个方面,包括点赞操作、取消点赞操作、点赞数量的记录和更新,以及消息通知等。通过这样的设计,能够满足高并发环境下的需求,同时也保证了系统的稳定性和一致性。


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

  1. 数据一致性:确保在数据从MySQL修改并存储到Redis的过程中,数据的一致性得到保障。这可能需要考虑事务处理和数据同步机制。

  2. 性能优化:将数据存储到Redis中需要考虑性能优化,包括数据结构选择、缓存策略、以及并发访问的处理,以确保系统的高性能和响应速度。

  3. 错误处理:处理数据存储过程中可能出现的错误情况,如网络中断、存储失败等。需要有相应的错误处理机制来保证数据的完整性和可靠性。

  4. 数据安全性:确保数据在存储和传输过程中的安全性,包括数据加密、权限控制、以及防止数据泄露或篡改的安全策略。

  5. 资源管理:合理管理存储资源和内存资源,确保数据存储和访问的效率和可靠性,避免资源耗尽或性能下降的问题。

  6. 通用点赞模块用mysql存储实现,点赞操作波动较大,有可能会在短时间内访问量激增,此时会对数据库造成巨大压力,改用Redis实现。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值