【问题标题】:Mule 4 Async vs VM Scope, which is more preferred to use for processing flow asynchronously?Mule 4 Async vs VM Scope,哪个更适合用于异步处理流?
【发布时间】:2021-01-06 20:28:33
【问题描述】:

据我简要了解,它们都使用更多资源与 VM 范围异步处理流程,因为它会创建新的上下文、单独的属性和变量。如果只是为了异步处理流程,还有什么特殊原因吗?

【问题讨论】:

    标签: asynchronous mule mule-component mulesoft mule4


    【解决方案1】:

    如果有可用资源(即线程),异步是一个立即与流并行执行的范围。 VM 是一个实现内存队列的连接器。我通常建议更喜欢使用 VM 连接器,因为使用 Async 如果没有可用的线程,它可能无法执行。使用 VM 连接器,消息将排队,直到从 VM 队列读取的流能够读取下一条消息。请注意,如果排队的消息数大于处理的消息数,则会耗尽内存或超出队列分配,从而导致另一个错误。

    永远记住线程是有限的资源。在 Mule 中,无法控制使用的线程数,只能控制并发性。还要记住,线程不是空闲的,它们会消耗内存和 CPU。

    【讨论】:

    • 嗨@aled,感谢您的回答,对于VM 连接器可能导致的内存不足或超出队列分配错误,您认为这种情况可能发生的频率是多少?
    • 好问题。我记得它发生在 Mule 3 中,但我不记得在 Mule 4 中看到它。这取决于队列的大小限制。
    猜你喜欢
    • 2019-06-26
    • 2014-03-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-13
    • 1970-01-01
    • 1970-01-01
    • 2011-08-18
    相关资源
    最近更新 更多