跨多个微服务的2PC分布式事务?

本文介绍了跨多个微服务的2PC分布式事务?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!,我阅读了一些关于2阶段提交/XA分布式事务以及JTA如何支持它的信息。似乎有很多资源管理器-RM(例如,RDBMS或JMS),以及一个管理跨多个RM的全局事务的TransactionManager(TM)实例。,我知道使用Saga模式更好,但是想想还是很有趣的:,更新:JTA世界TransactionManager不提供睡觉跨微服务交易管理接口。Lixa提供了这种能力。Article with examples除答案外:),跨微服务,事务需要通过公开准备和提交API来完成。此外,还需要有事务管理器来协调事务。,例如,假设有两个不同的银行,Bank1的Account_A中的100美元必须转移到Bank2的Account_B。此外,假设中央银行当局负责完成交易。
2PC的工作方式如下:,上述问题是分布式原子提交的形式,2PC是解决该问题的一种方法。还请注意,2PC有很多缺点,比如如果在准备阶段央行崩溃后会发生什么。如果4.c步失败了,4.b步成功了怎么办,等等。讨论这些本身就是一个非常广泛的研究,但仍然是值得注意的事情。尽管2PC有很多缺点,但由于其简单性而被广泛使用。,理论上没有。如果您仔细观察任何一家银行(Bank1或Bank2)也可以充当事务管理器(它只需要一个单独的数据库表事务),但实际上很多时候它是作为单独的微服务保存的。,这篇关于跨多个微服务的2PC分布式事务?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,
返回顶部
跳到底部

Copyright 2011-2024 南京追名网络科技有限公司 苏ICP备2023031119号-6 乌徒帮 All Rights Reserved Powered by Z-BlogPHP Theme By open开发

请先 登录 再评论,若不是会员请先 注册