2012-03-14 1 views
4

실제로 JMS 대신 애플리케이션을 대체 할 수 있습니까? 현재 JMS 메시지를 사용하여 작업을 전송하고 있습니다.Disruptor 또는 JMS?

Disruptor가 메시지 전송을 위해 교체 할 예정입니까? 각각의 장단점은 무엇입니까?

현재 JMS를 사용하고 있으며 메시지를 대기열로 보내고 대기열에서 메시지를 보내는 소비자 (MDB)가 있습니다.

감사합니다.

답변

6

아니요, Disruptor는 JMS를 대체하지 않습니다. Disruptor는 큐 모델과 유사하지만 요소가 처리되고 추적되는 방식이 다른 ring buffer 데이터 구조를 기반으로합니다. 대기열과 비슷하지만 근본적인 차이점이 있습니다. 예를 들어 소비자는 큐에서 FIFO (또는 동시) 전달 모델과 달리 요소가 소비 된 위치를 추적해야합니다. Here is a stackoverflow discussion 자세한 내용을 알려주십시오.

1

응용 프로그램 범위에 대해 이야기하고 있다면 예, 주제 작성자와 동의합니다 : disruptor가 JMS를 대체했습니다. JMS를 사용하여 많은 내부 조직에서 JMS를 사용하여 응용 프로그램 모듈을 내부에서 분리하고 비동기로 만들 수있는 내부 프레임 워크를 만들었습니다.

그러나 disruptor가하지 않는 것은 응용 프로그램 간의 통신 측면에서 JMS를 대체하지 않습니다.

애플 리케이션 내부에서 JMS 대신 disruptor를 사용하는 것이 더 쉽고, 더 이해할 수 있고, 더 강력 할 것입니다.