我有几个不同的RESTful服务,它们托管在不同的服务器上,使用不同的数据库。我有一些RESTful服务会在事务单元中调用多个这样的服务。如果其中任何一个RESTful服务失败,我们就会出现数据一致性问题。有没有一种简洁的架构方式来协调回滚操作?或者说采用事务管理器的方式是否可行?
举个简单的例子,RESTful服务1进行POST请求并将thingamajig的物品数量减少1。RESTful服务2请求付款。如果服务2失败了,那么我们该如何干净地在服务1上实现回滚操作,而无需创建新的RESTful退款服务(如果必要,创建此服务也是可以接受的)? 我在寻找符合REST原则的上述问题的架构答案。