首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在微服务体系结构中什么时候需要回退逻辑?

在微服务体系结构中什么时候需要回退逻辑?
EN

Stack Overflow用户
提问于 2021-04-19 06:54:11
回答 1查看 198关注 0票数 0

根据克里斯里查德森所写的关于在微服务中补偿sagas中的事务的内容:

什么是补偿交易? rejectOrder()命令是补偿事务的一个示例。与ACID事务不同,sagas不能自动撤消以前步骤所做的更改,因为这些更改已经提交。相反,您必须编写显式撤消这些更改的补偿事务。传奇中的每一步都必须有相应的补偿事务。。 在createOrder中,createOrder()具有rejectOrder()补偿事务,因为reserveCredit()步骤可能失败。reserveCredit()步骤不需要补偿事务,因为approveOrder()步骤不会失败。而且,approveOrder()步骤不需要补偿事务,因为它是saga的最后一步。

这是否意味着一个步骤不需要补偿事务,只要它接下来的步骤不会因为业务原因而导致失败?如果以下步骤由于某些技术原因( --一些bug或一些微服务间通信问题)而失败怎么办?

EN

回答 1

Stack Overflow用户

发布于 2021-04-19 15:53:20

这是因为,如果没有业务错误,当技术问题得到解决时,您可以重试通信或安排通信,并且在发生时状态将是正确的。

请记住,技术问题是短暂的,在微服务体系结构中,您必须处理最终的一致性问题。

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

https://stackoverflow.com/questions/67157237

复制
相关文章

相似问题

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