是否有可能在来自不同平台(如.NET或Java )的不同SOA服务之间传播事务?
我知道事务可以在来自.NET的WCF服务之间进出,但我对Java平台并不熟悉。
现在我在一个项目中工作,这个项目可以从不同的平台上交流服务。
如何在业务中保持一致性?
发布于 2012-07-27 01:37:20
如果您的客户机和服务器SOA基础设施(以及通过扩展,在各种服务实现中访问的底层后端系统)支持WS- transaction,那么这将允许事务传播。
但是,我在一个庞大的金融服务SOA中间件环境中工作,我们选择自己管理事务:使用手动补偿。虽然更复杂,但不依赖任何分布式事务协调器确实给我们带来了灵活性和性能提升。
发布于 2012-08-01 04:05:46
Transactions between services are bad for your SOA,因为它们在服务之间引入了很多耦合。服务边界是信任边界。你最好使用Sagas和补偿,正如丹尼尔所说的那样
发布于 2013-09-20 17:20:19
试试这个模式:http://www.atomikos.com/Publications/TryCancelConfirm
它与传奇和补偿方法有关,并结合了所有领域的最佳做法。
最好的
https://stackoverflow.com/questions/11671725
复制相似问题