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

调用好几个外部接口组成的事务,怎么优雅的去处理

  •  
  •   xlzyxxn · 2023-11-07 16:06:54 +08:00 · 1293 次点击
    这是一个创建于 380 天前的主题,其中的信息可能已经有所发展或是发生改变。

    一个事务,其中要调用好几个外部接口,有部分接口有依赖关系,比如先调用 A 接口,后调用 B 接口,有的没有依赖关系;这块的事务有什么优雅的处理方案?

    7 条回复    2023-11-07 20:14:53 +08:00
    xlzyxxn
        1
    xlzyxxn  
    OP
       2023-11-07 16:49:41 +08:00
    没人遇到过这种需求???
    smilekung
        2
    smilekung  
       2023-11-07 16:51:36 +08:00
    构建一个有向无环图,然后同深度的并行调用
    whoami9426
        3
    whoami9426  
       2023-11-07 17:30:06 +08:00
    编程式事务 + CompletableFuture
    bellx
        4
    bellx  
       2023-11-07 17:53:06 +08:00
    你说的事务需要考虑回滚吗,不需要的话 CompletableFuture
    LoogleLee
        5
    LoogleLee  
       2023-11-07 17:58:01 +08:00
    用框架的话:gobrs 或者 liteflow
    Inf1nity
        6
    Inf1nity  
       2023-11-07 17:58:54 +08:00
    简单需求的话 CompletableFuture 即可。
    ufan0
        7
    ufan0  
       2023-11-07 20:14:53 +08:00
    调用外部接口是否可以理解为 RPC 此类调用?

    尝试构建领域模型,剥离服务调用与数据库操作,使事务粒度最小化。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1010 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 22:02 · PVG 06:02 · LAX 14:02 · JFK 17:02
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.