Asynchronous Mule 4 Async vs VM Scope,哪个更适合异步处理流?

Asynchronous Mule 4 Async vs VM Scope,哪个更适合异步处理流?,asynchronous,mule,mule-component,mulesoft,mule4,Asynchronous,Mule,Mule Component,Mulesoft,Mule4,从我所能简单理解的情况来看,它们都使用VM作用域异步处理流,在创建新上下文、分离属性和变量时使用更多资源。除了使用异步处理流之外,还有什么特殊原因吗?异步是一个作用域,如果有可用资源(即线程),它将立即与流并行执行。VM是实现内存队列的连接器。我通常建议更喜欢使用VM连接器,因为使用Async时,如果没有可用线程,它可能无法执行。使用VM连接器,消息将排队,直到从VM队列读取的流能够读取下一条消息。请注意,如果排队的消息数大于已处理的消息数,它将耗尽内存或超出队列分配,从而导致另一个错误 始终记

从我所能简单理解的情况来看,它们都使用VM作用域异步处理流,在创建新上下文、分离属性和变量时使用更多资源。除了使用异步处理流之外,还有什么特殊原因吗?

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


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

Hi@aled,谢谢您的回答,对于VM connector可能导致的内存不足或超出队列分配错误,您认为这可能会发生多久?好问题。我记得它发生在骡子3,但我不记得看到它在骡子4。这取决于队列的大小限制。