分布式系统事务解决方案选择

解决方案一:

使用 Alibaba Seata 可以来解决 ,但是该种解决方案 不适合 大并发情况下,会影响性能,(使用于管理后台各个微服务调用的增删改查的事务管理)

解决方案二:

使用 MQ 来解决,(保证数据的最终一致性)

如: 在电商系统中,当下一个订单后,要扣减库存,我们先远程调用 库存接口,
(有可能会出现,库存扣减成功,但是返回给订单系统的数据,因为网络原因失败了,此时订单因为调用库存系统超时,订单下单失败。)

我们可以在库存系统使用 rabbitMQ ,我们锁库存成功后,把消息放入到 rabbitMQ 延时队列(利用死信实现),如果过了一段时间,延时队列就发消息,确认订单是否下单成功,如果没有下单成功,就自动的解锁库存,保证数据的最终一致性。

在这里插入图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章