【发布时间】:2018-12-24 00:57:46
【问题描述】:
让我们举一个简单的购买操作示例场景,用户可以从他的钱包或信用卡支付,或者如果金额超过他钱包中的金额,则剩余金额将记入他的信用卡.所以在那种情况下,有两种不同的交易,一种是从钱包中借记,然后从信用卡中扣款。让我们假设钱包是数据库操作,而信用卡是对第三方的调用,是否可以在单个数据库事务中执行这两个操作,这样如果一个操作失败,整个操作回滚,或者我应该并行执行大多数现代应用程序现在都使用并行操作。如果我同时执行这两个操作,那么我将如何确保整个操作的原子性?
我们如何在微服务架构或分布式应用程序中实现此类功能?
提前致谢。
【问题讨论】:
标签: rest api transactions microservices distributed-system