【发布时间】:2019-04-14 01:41:35
【问题描述】:
微服务是前一段时间出现的,这种方法有利有弊,但您最终必须面对的问题之一是事务原子性,或者说没有它。企业应用程序通常在 api 级别上具有某种工作单元,但是在您的微服务正在调用另一个微服务(或 api)并且它不了解分布式事务的环境中,当出现问题时,它会引发一些您必须处理的问题:假设你有微服务“为项目付款”。当客户端在内部调用您的微服务 api 时:将一些数据放入拥有的数据库中,创建发票文件,将其发送到另一个微服务,发送电子邮件,也许调用另一个对您的工作单元一无所知的系统。如果这个序列的每个部分都成功了,一切都很好,但问题是如何处理错误,你正在调用的另一个 api 不可用,但是你在许多其他系统中改变了状态,如何从那里恢复?这种情况有什么好的方法吗?
【问题讨论】:
标签: microservices