2012-04-26 3 views
3

나는 LMAX disruptor와 표준 메시지 대기열과 비교하여 어떻게 성능이 좋았는지에 관해 이야기를 들었다. 나는 최신 버전을 다운로드하여 그것이 초고속 RingerBuffer 객체를 중심으로 많은 클래스와 타입을 포함하고있는 일반적인 JAR이라는 것을 알았다.LMAX Disruptor vs JMS Provider

궁극적으로 말하면, 대기열 기반 JMS 공급자는 결국 Java 대기열 객체 (또는 더 많은 동시 대기열)를 관리하는 많은 코드로 종결됩니다. 이 점에서 LMAX Disruptor와 JMS 제공자 (또는 내부 대기열)를 비교합니다.

하지만 JMS 공급자는 몇 가지 대기열 이상입니다. 소비자와 생산자 간의 메시지 처리를위한 미들웨어 애플리케이션입니다. LMAX 토지에 해당하는 JMS 제공자가 있는지 궁금합니다.

다른 JMS 브로커와 비슷한 방식으로 "Disruptor Broker"에 연결하고 메시지를 읽고 쓰는 것이 좋을 것입니다.

이와 비슷한 항목이 존재합니까? 아니면 여기에 근거가 있습니까?

답변

5

가장 큰 차이점은 Disruptor가 동일한 프로세스에서 작동하도록 설계되었다는 것입니다. 왜? 성능상의 이유로 (짧은 대답). 더 긴 대답은 조심하지 않으면 JMS 인터페이스, 소켓 연결, 잠금 및 다중 스레드를 사용하는 추가 오버 헤드가 Disruptor를 왜소하게하는 훨씬 더 높은 오버 헤드를 갖게된다는 것입니다.

빠른 JMS 서비스는 초당 20,000 개 이상의 메시지를 처리 ​​할 수 ​​있지만 장애 당국은 2 천만 개 이상의 메시지 전송률을 처리하는 디자인입니다. 이를 달성하려면 JMS가 정상이라고 가정하는 특정 작업을 수행 할 수 없다는 것을 의미합니다. (위 참조)

관련 문제