2008-11-14 5 views
4

우리는 메시징을 위해 JMS를 사용하고자하는 일련의 응용 프로그램을 보유하고 있습니다. 현재 우리의 응용 프로그램은 모두 ActiveMQ 브로커에 TCP 연결을 설정합니다. 같은 호스트에있는 15 개 정도의 응용 프로그램이 inVM 연결을 사용하거나 공유 메모리 형식을 사용할 수 있습니까? 그 동안 호스트에서 떨어져있는 나머지 20 개의 응용 프로그램은 여전히 ​​TCP를 사용합니까?ActiveMQ 5를 사용하면 메모리 및 네트워크 연결을 통해 브로커를 구성 할 수 있습니까?

기본적으로 나는 inVM으로 구성된 브로커와 TCP로 구성된 브로커를 결합해야합니다. 그렇게 할 수 있습니까, 아니면 브리지 설정을해야합니까?

답변

2

inVM 연결은 응용 프로그램이 동일한 JVM에있는 경우에만 작동합니다.

같은 상자에 있지만 다른 프로세스에 있다면 TCP가 가장 좋습니다. 대부분의 운영 체제는 효율적인 TCP 구현을 사용하므로 실제로 로컬 프로세스간에 통신하기 위해 네트워크에 연결하지 않습니다.

메시징이 스트림 기반이므로 공유 메모리가 ActiveMQ에 도움이되지 않습니다. 응용 프로그램이 브로커와 동일한 JVM 내에있는 경우 TCP 또는 VM을 선택하는 것입니다.

+0

동일한 VM에서 대부분의 응용 프로그램을 실제로 실행하는 것을 선호하지만 일부는 다른 시스템에 있어야합니다 . –