首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >微服务中的事务

微服务中的事务
EN

Stack Overflow用户
提问于 2014-07-10 20:17:10
回答 4查看 6.7K关注 0票数 22

我读过一些关于微服务架构的文章,但没有人讨论事务。他们都说这很难做到。也许有人能描述一下如何处理这件事?

但不是从领域方面,而是从技术方面。假设我们有一个业务案例,我们需要调用两个不同的服务,并且这两个服务都对数据库进行了一些更改。但是如果第二个发生错误,该如何回滚呢?

谁知道针对这个问题的一些库或设计模式?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2014-07-10 20:26:45

最好的设计是具有独立的服务:每个服务只在其自己的事务中执行其工作,而您的工作流程预计单个服务会出现故障。

如果您真的只需要在调用所有服务时都没有错误地提交,那么您应该创建一个更高级别的服务,在外部事务中执行这些调用。

票数 6
EN

Stack Overflow用户

发布于 2015-08-06 04:59:41

在前面答案的基础上,分布式事务是解决方案。在我看来,你不想构建自己的机制来跟踪全局事务状态,相反,你想使用某种产品--有几种。我写了一篇关于用Java应用服务器解决这个问题的长篇博客文章:

http://blog.maxant.co.uk/pebble/2015/08/04/1438716480000.html

票数 -1
EN

Stack Overflow用户

发布于 2015-08-27 15:50:11

两阶段提交可以是option.Coordinator向cohorts.Cohorts发送提交请求消息,发送回ok.After,然后协调器向cohorts.If发送提交消息,如果发生故障,协调器向队列发送回滚消息。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24676364

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档