我在实现微服务体系结构方面很新,这个问题让我心碎
微服务架构如何解决不同端点调用之间的事务机制。
例如,基于微服务架构的银行服务基本上是针对不同的服务调用来完成一项交易,如果其中一个失败了,就没有办法消除部分过程,我不知道是否有任何机制来解决这个问题。
创建支付 邮政/支付/客户/10/支付/100/ 从账户借记款项 将 /customers/10/accounts/20 发送客户通知 发布/警报/客户/10
发布于 2018-08-27 00:52:56
答案是您的API没有公开任何允许您创建无效状态的方法。
每个方法都必须完成一个有效的事务。例如,您没有使用从帐户中添加和删除金钱的方法,而是有在帐户之间转账的方法。在您转账时必须进行的任何记录保存或通知都必须由这些方法完成(或至少排队)。
有时,这要求您为您可能认为是不完整的事务创建特殊的“有效”状态。例如,当你在剧院预定座位时,你的座位会在某个时候(5分钟左右)才被保留,而你还没有付钱。
https://stackoverflow.com/questions/52031350
复制相似问题