RebbitMQ完成分布式事务

2020-08-04  本文已影响0人  任笙_8b8c
事务.png

用户提交订单,积分添加使用分布式事务流程讲解:

一.
二.
rabbitTemplate.convertAndSend(RabbitMQConfig.EX_BUYING_ADDPOINTUSER,RabbitMQConfig.CG_BUYING_ADDPOINT_KEY, JSON.toJSONString(task));
@Scheduled(cron = "0/2 * * * * ?") //2秒调用一次
三.
将任务加入redis中  设置过期时间30秒 以防事务回滚redis数据一直在
redisTemplate.boundValueOps(task.getId()).set("exist",30, TimeUnit.SECONDS);

删除redis中的信息
redisTemplate.delete(task.getId());
四.

监听添加积分完成的消息队列,获取消息数据,转换为对应的实体,直接删除任务表中的数据.

上述流程是订单提交后给用户完成积分的添加,保证在分布式下,使用rebbitmq完成分布式事务,保证消息一致性.
上一篇下一篇

猜你喜欢

热点阅读