请教一下 Java 跨项目执行 SQL

2021-11-05 16:49:53 +08:00
 qwer666df
A 系统是 ssm 的,然后里面有一些原来的 insert 和 update 语句, 现在打算迁移出来到 B 系统(mq)去异步消费, 现在想到几种方案
1. B 系统把 A 系统的 xml 啥的都复制过来,然后 A 发送在执行的时候,对象传过去, B 系统在解析估计可以实现, 缺点就是改动太多了
2. A 系统直接生成好语句, 然后发送的 B 系统,就等于发送一个 sql 字符串, 然后 B 系统执行执行, 这种改动会比较少, 就是不知道是否可行
如果有其他更好方案, 也顺便请教一下
1138 次点击
所在节点   科技
5 条回复
Jooooooooo
2021-11-05 16:52:02 +08:00
当然是 a 发送一个事件(包含数据), b 收到解析之后再做相应的动作.

方案 2 给自己埋坑呀, 既然做的是解耦操作, 不太可能用一个如此临时的方案实现吧.
qwer666df
2021-11-05 17:15:29 +08:00
@Jooooooooo #1 那就是要在 A 系统调用 数据库之前, 把对象转成 JSON,然后发送到 B 系统, 在还原对象, 在 B 系统写到数据库吧,.... 想想工作量就好大歪日,
timpaik
2021-11-05 20:35:42 +08:00
看看 Java RPC 通信?
NizumaEiji
2021-11-05 20:48:09 +08:00
需要考虑事务么
可以考虑拆微服务吧 有很多成熟的方案 spring cloud 啥的
而且没必要一次性拆完 一点一点拆就行吧
qwer666df
2021-11-08 09:19:01 +08:00
@timpaik #3 我研究看看
@NizumaEiji #4 事物有考虑的, 微服务现在要不了这么大改动..

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

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

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

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

© 2021 V2EX