Mule 4异步与VM范围,哪个更适合用于异步处理流



据我所知,它们都与VM范围异步处理流,在创建新上下文、分离属性和变量时使用更多资源。如果使用只是异步处理流,除此之外还有其他特殊原因吗?

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

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

最新更新