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

一个任务有 10 个处理步骤,在 mq 中把每一个步骤都设置成一个 TOPIC,在 mq 里 将这么多任务步骤细分这么多 topic 的好处该怎么回答?

  •  
  •   rqxiao · 2023-07-17 10:14:20 +08:00 · 925 次点击
    这是一个创建于 489 天前的主题,其中的信息可能已经有所发展或是发生改变。

    10 个处理步骤中 有几个是耗时操作,但有些不耗时

    在 mq 里 将这么多任务步骤细分这么多 topic 的好处该怎么回答

    将复杂的业务上的任务按流程细分后实现解耦,异步?

    5 条回复    2023-07-17 16:04:47 +08:00
    cccssss
        1
    cccssss  
       2023-07-17 10:16:00 +08:00   ❤️ 1
    代码量多,出问题不好定位,这样不容易毕业
    yh7gdiaYW
        2
    yh7gdiaYW  
       2023-07-17 10:28:42 +08:00   ❤️ 1
    某个环节成为性能瓶颈后,便于增加机器提高吞吐量?
    HowToMakeLove
        3
    HowToMakeLove  
       2023-07-17 11:03:49 +08:00   ❤️ 1
    1.不容易出单点问题
    2.方便扩展某个耗时的环节
    3.解耦、单一职责方便维护或者替换某一个环节的流程
    aitaii
        4
    aitaii  
       2023-07-17 11:17:30 +08:00   ❤️ 1
    对于 spring boy 来说,看起来像 dataflow 的处理流程,对于一个节点上的数据,可以有不同的消费者消费处理完成不同的业务和数据需求。解耦和异步是这种方法天然支持的吧
    linyimin520812
        5
    linyimin520812  
       2023-07-17 16:04:47 +08:00   ❤️ 1
    1. 解耦,代码上更清晰容易维护
    2. 避免各步骤相互影响,如果其中某个步骤耗时比较长的话,会阻塞其他任务的执行,容易拉低整体的吞吐量
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3287 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 00:46 · PVG 08:46 · LAX 16:46 · JFK 19:46
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.