我有幾個不同的RESTful服務託管在使用不同DB的不同服務器上。我有幾個RESTful服務,它們在應該是一個事務單元的情況下調用上面的多個這樣的服務。如果這些RESTful服務中的任何一個出現故障,我們最終會遇到數據一致性問題是否有一種巧妙的架構方式來協調回滾?或者讓交易經理走上正軌?REST和事務回滾
作爲一個簡單的例子,RESTful服務1有一個POST請求,它可以將thingamajig的項目數減少1. RESTful服務2 POST一次付款。如果服務2出現故障,我們如何在沒有新的RESTful退款服務的情況下乾淨地實現服務1的回滾(如果這是必須的話)。我正在尋找針對上述問題的架構性答案,這與REST原則保持一致。
不能使用DDD和最終一致性?這樣你就不需要回滾失敗,只需重試。我認爲這比在REST服務之上實現多階段提交更容易。 – inf3rno
類似的問題:http://stackoverflow.com/a/3837376/607033 – inf3rno