V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
qwer666df
V2EX  ›  科技

请教一下 Java 跨项目执行 SQL

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

    方案 2 给自己埋坑呀, 既然做的是解耦操作, 不太可能用一个如此临时的方案实现吧.
    qwer666df
        2
    qwer666df  
    OP
       2021-11-05 17:15:29 +08:00
    @Jooooooooo #1 那就是要在 A 系统调用 数据库之前, 把对象转成 JSON,然后发送到 B 系统, 在还原对象, 在 B 系统写到数据库吧,.... 想想工作量就好大歪日,
    timpaik
        3
    timpaik  
       2021-11-05 20:35:42 +08:00 via Android
    看看 Java RPC 通信?
    NizumaEiji
        4
    NizumaEiji  
       2021-11-05 20:48:09 +08:00
    需要考虑事务么
    可以考虑拆微服务吧 有很多成熟的方案 spring cloud 啥的
    而且没必要一次性拆完 一点一点拆就行吧
    qwer666df
        5
    qwer666df  
    OP
       2021-11-08 09:19:01 +08:00
    @timpaik #3 我研究看看
    @NizumaEiji #4 事物有考虑的, 微服务现在要不了这么大改动..
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3319 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 13:48 · PVG 21:48 · LAX 06:48 · JFK 09:48
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.