首页 新闻 会员 周边

怎么和接口实现事物的同步

0
悬赏园豆:5 [已关闭问题] 关闭于 2014-11-19 10:35

公司被拆分为很多子公司,系统自然也就全部拆分了。

现在系统和系统之前都是以接口打交道。

但是如果只是普通的查询还好,实际情况往往比较复杂,经常有以下几种场景

1.现在关键是业务的关联性很强,往往系统A调用接口B,B有比较复杂的业务数据操作。A传200个订单过去,可能B接口数据上处理成功了,但是接口却报了网关错误,然后我们系统内部任务发生错误,做了事物回滚,B系统却没办法控制回滚。

2.即使B接口调用成功,A获得成功结果后,有自己业务要处理。可能此处理业务失败了,但是此业务和B接口必须有事物的一致性。

如果不跨服务器,即使跨数据库,也无所谓。也可以用sqlserver的事物来处理,但现在用了接口,而且处理这种事物关联性强的业务,有没有好的方式?

如果说是分布式事务,是否不能跨平台?

< >
分享
所有回答(3)
0

这种情况太复杂了.

子系统之间互相不知道对方的具体实现.

系统A发起请求, 系统B修改了表b1;

系统C发起请求, 系统B修改了表b1;

系统A发起回滚, 系统B... ...;

 

理想的情况, 是有一个Master系统,负责去协调所有子系统的事务请求.

比如说所有的数据库写入操作都只有Master才能执行, 但这种设计的实现, 我觉得也是够呛.

200cc | 园豆:266 (菜鸟二级) | 2014-11-18 11:41
0

这种问题在这儿问纯粹就是扯蛋。找个高手,给个十万八万的咨询费,让帮忙看看还差不多。

爱编程的大叔 | 园豆:30839 (高人七级) | 2014-11-18 12:17
0

掏5K我就告诉你怎么做

需要格局 | 园豆:2145 (老鸟四级) | 2014-11-18 13:59
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册