簡體   English   中英

在不同平台上使用 Web 服務的分布式事務

[英]Distributed transaction using web services on different platforms

是否可以使用以不同技術實現的 Web 服務來實現事務性?

例如:讓我們想象一下我們想要提供 2 個不同組織的集成服務的情況,每個組織都已經使用不同的技術在不同的國家實施了不同的系統。 組織 A 有一個 Java 服務器公開 Rest 服務,允許消費者在表中插入數據,然后組織 B 有一個 .Net 服務器公開 Rest 服務,也允許消費者在表中插入數據。 然后我想創建一個新的服務器來將這兩個服務集成到一個,允許消費者插入兩個組織的數據庫。 因此,我必須從這個新服務器以事務方式調用這兩個剩余服務(這意味着兩個組織都將插入,或者如果出現故障則不會插入,它將回滾)。

即使服務器 1 和服務器 2 使用不同的技術實現,也有可能實現嗎? 如果有 n 個服務器都以不同的技術實現並且都公開 Rest 服務怎么辦?

在微服務架構的情況下,不可能有真正的交易。 您必須實施補償,以在發生故障時回滾更改。 有關其中一種方法,請參閱Saga 模式

查看Cadence Workflow ,它使 Sagas 的實施變得微不足道。 這是一個例子。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM