8

是否有可能在来自不同平台(如 .NET 或 Java)的不同 SOA 服务之间传播事务?

我知道事务可以在来自 .NET 的 WCF 服务之间流入和流出。但是我对Java平台不熟悉。

现在我正在一个项目中工作,该项目从不同平台传达服务。

如何保持业务的一致性?

4

3 回答 3

1

如果您的客户端和服务器 SOA 基础架构(以及通过扩展,在各种服务实现中访问的底层后端系统)支持 WS-Transaction,那么这将允许事务传播。

然而,我在一个庞大的金融服务 SOA 中间件环境中工作,我们选择自己管理事务:使用手动补偿。虽然更复杂,但不依赖任何分布式事务协调器确实给了我们灵活性和性能提升。

于 2012-07-26T17:37:20.440 回答
1

服务之间的事务对您的 SOA 不利,因为它们会在服务之间引入大量耦合。服务边界是信任边界。正如丹尼尔所说,你最好使用Sagas和补偿

于 2012-07-31T20:05:46.360 回答
0

试试这个模式: http: //www.atomikos.com/Publications/TryCancelConfirm

它与传奇和补偿方法有关,并结合了世界上最好的东西。

最好的

于 2013-09-20T09:20:19.383 回答