首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SOA和分布式事务

SOA和分布式事务
EN

Stack Overflow用户
提问于 2010-04-01 20:24:30
回答 2查看 2.8K关注 0票数 5

分布式事务在面向服务的体系结构中什么时候有意义?

EN

回答 2

Stack Overflow用户

发布于 2010-04-04 20:36:21

在SOA环境中经常使用分布式事务。如果您有一个调用多个服务的组合服务,则应将底层服务调用作为单个事务处理。业务流程应该允许回滚其步骤。如果底层资源允许,您可以使用两阶段提交,但在许多情况下这是不可能的。在这些情况下,应该在失败的步骤之前对调用的服务/资源执行补偿操作。换句话说,以相反的顺序撤消成功的步骤。

假想的例子:电信公司为一个客户提供了一个新的VoIP产品,有6个服务呼叫:

客户关系管理查询库存以检查客户是否拥有合适的equipment

  • configure客户设备通过mediation

  • update inventory使用新的configuration

  • set up评级引擎为客户计算
  1. 设置计费软件以向客户收取正确的价格计划
  2. 使用供应流程的结果更新

上面的6个步骤应该是一个事务的一部分。例如,如果库存更新失败,您(可能)需要撤消客户设备配置。

票数 2
EN

Stack Overflow用户

发布于 2010-05-27 10:26:34

这并不是一个真正意义上的案例。事务(分布式或非分布式)的实现是必要的,而不是任意的选择,以保证一致性。另一种方法是实现协调过程,以确保最终的一致性。

在经典的银行示例中(资金流出帐户A,进入帐户B),事务一致性非常重要。在一些库存系统中(检查库存,减少库存,卖给客户),库存水平大致准确可能是可以接受的,而不是保证准确。在这种情况下,忽略失败(减少库存,销售失败)可以通过稍后的协调来处理。

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

https://stackoverflow.com/questions/2560243

复制
相关文章

相似问题

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