谷粒商城实战(025 业务-订单模块-分布式事务2)

Java项目《谷粒商城》架构师级Java项目实战,对标阿里P6-P7,全网最强

总时长 104:45:00 共408P

此文章包含第291p-第p293的内容


简介

seata无法使用在高并发场景,因为加了很多锁,相当于把并发变成了串口化了,所以这里我们在高并发场景不使用seata,使用最大努力通知型方法和可靠消息+最终一致性方案
在这里插入图片描述

在这里插入图片描述

这里使用消息队列来实现分布式事务(可靠消息+最终一致性方案)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

最终一致性:几十分钟甚至一天解锁都可以的
在这里插入图片描述
在这里插入图片描述

使用rabbitmq的延时队列功能进行操作

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

使用mq的目的有: 解耦,削峰,提供并发等等

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

mq使用的是惰性检查机制,如果第一条消息是5分钟 5分钟之后才会来拿第一条消息,后面1分钟3分钟的都被挡上了,所以不要给消息加过期时间 使用第一种给队列加过期时间(即这个队列里的消息都是5分钟过期,这样永远不会挡住后面的,因为是按顺序执行的)
在这里插入图片描述

在这里插入图片描述
消费者监听这个死信队列 然后进行业务操作
在这里插入图片描述

重点:遵循一个服务一个交换机的原则
在这里插入图片描述

使用延迟队列

  1. 引入amqp包
    在这里插入图片描述
    可以使用amqpAdmin来创建交换机等信息,但是太麻烦了,所以我们写一个配置文件
    在这里插入图片描述
    在这里插入图片描述

这里是配置文件
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
第一个队列在这里插入图片描述
第二个队列
在这里插入图片描述
创建交换机

在这里插入图片描述

创建绑定

在这里插入图片描述
在这里插入图片描述
rabbitmq存在某个队列的话,就不会新建
在这里插入图片描述
如果想修改队列的属性信息,需要删除重建
在这里插入图片描述
在这里插入图片描述
监听消息队列
在这里插入图片描述

在这里插入图片描述
引入延时队列是为了实现分布式事务的第四种方案的,延时队列的作用是实现最终数据一致性的

加粗样式
发送请求
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

发五个
在这里插入图片描述
收五个
在这里插入图片描述
在这里插入图片描述


  • 8
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值