微服务+redis 事务解决方案

2019-08-07 16:45:03 +08:00
 Breadykid

最近要实现的需求: BI 的 etl 模块,就是 2 个数据库同步数据,A 服务 A 库读数据,B 服务 B 库存数据,这个过程会很长,期间发生异常,或者人为手动取消这个过程,B 库里存的数据就要全部回滚。 其中数据库不限,目前支持的有 mysql,Postgres,oracle,sqlserver, 这个功能类似用 navicat 来同步两个数据库里表的操作

流程图如下,想问我要带上 redis 事务,和用 feign 的 hystrix 的回退模式,怎么做较好? 目前所有的 2 个微服务间的数据异常回滚操作都是用 try-catch,catch 里调用失败要执行的操作在代替事务,都是手动在 Connection.commit,Connection.rollback,我觉得这样不太对,但又不知道要怎么写,真的脑壳痛。。。 https://www.processon.com/view/link/5d4262d5e4b0b3e4dcdaba77

3440 次点击
所在节点    程序员
23 条回复
Breadykid
2019-08-09 09:47:16 +08:00
@mineqiqi 产品看到别家做了这个功能,就要我们也实现。。。
Breadykid
2019-08-09 09:51:52 +08:00
@cyhulk 所以还是我目前的解决方案嘛
Breadykid
2019-08-09 09:55:14 +08:00
@agostop 中间件有具体推荐嘛?搭建成本(机器成本)高的就算了,领导肯定不同意

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/589876

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX