我有一个Customer
容器,其中包含代表单个客户的SQL API (DocumentDB)
项目CosmosDB
。我也有一个Gremlin API (GraphDB)
与客户的shoppingcart
数据。这两个数据都是临时的/暂时的。客户可以选择清除购物车,这将删除临时customer
和shoppingcart
数据。
目前,我进行单独的调用,其中一个SQL API (DocumentDB)
有效Gremlin API (GraphDB)
,但我想将两者都作为事务进行(ACID 原则)。要删除customer
,我调用Gremblin API
并删除shoppingcart
数据,然后调用SQL API
删除customer
。但是,如果使用(第二步)删除客户SQL API
失败,我想回滚在第一次调用中所做的更改,这将回滚shoppingcart
已删除的数据。在 T-SQL 世界中,这是通过 acommit
和rollback
.
如何围绕和数据的删除操作实现分布式事务协调?customer
shoppingcart