2015-01-27 7 views
0

VM 사용에 대한 설명이 필요합니다.Mule 흐름에서 VM 인바운드 엔드 포인트를 여러 번 호출하면 성능에 영향을 줍니까? ESB

일부 플로우에서는 VM Inbound를 사용하는 ESB Mule에서 큰 플로우가 있습니다.

다음과 같이 말하십시오 : 시작점으로 VM (인바운드)이 포함 된 3 가지 흐름이 있습니다.

하지만이 흐름을 VM (아웃 바운드)을 통해 여러 번 호출해야합니다. 각 거래마다 나는 거의 20 번을 부르고있다.

또 다른 VM 인바운드 엔드 포인트 (다른 ​​이름), 3 VM (인바운드) 만 있고,이 3 VM 만 여러 번 호출됩니다. 성능에 영향을 미칩니 까 ??? . 아래 주어진 1 흐름의 예

<flow name="Audit" doc:name="Audit"> 
    <vm:inbound-endpoint exchange-pattern="one-way" path="${vm.audit}" doc:name="Audit" connector-ref="MAIN_VM"/> 
    <object-to-string-transformer doc:name="Object to String"/> 
    <set-variable doc:name="Variable" value="#[payload]" variableName="capturePayload"/> 
    <data-mapper:transform config-ref="Construct_Logger_XML" input-ref="#[flowVars[&quot;capturePayload&quot;]]" doc:name="DataMapper"> 
<data-mapper:input-arguments> 
    ... 
</data-mapper:input-arguments> 
    </data-mapper:transform> 
    <byte-array-to-string-transformer doc:name="Byte Array to String"/> 
    <logger level="INFO" doc:name="CaptureAuditLogs" message="AuditInfo:#[function:dateStamp], AuditLogPayload: #[payload]" category="AuditInfo">- 
    </flow> 

희망, 이해할 수 있습니다. 당신의 생각을 찾고. 뮬 버전 : 3.5.1 미리 감사드립니다.

답변

2

커뮤니티 에디션에서 VM 엔드 포인트는 메모리 대기열에 불과하며 매우 빠릅니다.

VM 종점을 호출하는 것은 홀 전송 메커니즘이 삼중 된 경우 flow-ref보다 약간 느립니다.

플로우에서 플로우를 호출하는 중이고 Mule EE를 사용하지 않는 경우, flow-ref가 인바운드 엔드 포인트를 무시하고 프로세서로 직접 이동하므로 flow-ref over vm 아웃 바운드를 선호해야합니다.

+0

저는 EE만을 사용하고 있습니다. Log4j에서 Logger를 사용하지 않고 감사 및 로깅 목적으로 호출하는 흐름 이상. 따라서 감사 흐름이나 로거 흐름을 호출해야하는 곳이면 VM 내부에서 Async 범위를 사용하여 후속 흐름 (VM 인바운드)을 호출합니다. 괜찮은가요? 성능 r8에 영향을주지 않습니까? – star

+0

문제가 없어야합니다. 그러나 async plus 및 enpoint를 사용하여 과도한 작업을 수행하고있을 수도 있습니다. 단방향 VM 엔드 포인트를 사용할 수 있습니다. –

+0

도움 주셔서 감사합니다. 멋지네요. 성능에 영향을 미칠지 걱정했습니다. 적절한시기에 도움을 청하십시오. 나는 똑같은 방향으로 나아갈 것입니다. – star