내 LMAX Disruptor의을 이해하면 올바르게 작동하는 경우 초당 2,000 만 개의 메시지 처리량을 허용하는 무서운 속도의 무서운 동시 Java 코드로 가득 찬 JAR이라는 점입니다.LMAX Disruptor는 일반적인 메시지 브로커 문제를 어떻게 해결합니까?
우리는 현재 우리가 필요로하는 것보다 느린 ActiveMQ 인스턴스를 초당 400 개의 메시지로 가지고 있습니다.
- 어떻게 한 출판사를 가지고 여러 (경쟁) 소비자
- 어떻게이 LMAX 매장/집의 메시지 : 우리가 LMAX를 사용하는 우리의 코드를 리팩토링에서 혜택을하지만, 다음과 같은 문제가있는 것인지 궁금하네요 ? 기억에?
- 장애 조치 - LMAX에 장애 조치 프로토콜/메커니즘이 있습니다.
- 디스크 I/O - LMAX는 사용되지 않은 메시지를 디스크에 저장하고 나중에 복구 할 수 있습니까?
그리고이 모든 것들을 완전히 기반으로하고 LMAX Disruptors의 사용을 완전히 오해 한 것처럼 보이면 누군가가 사용시기에 대한 구체적인 예를 제공 할 수 있습니까? 미리 감사드립니다!
감사합니다. @ Martins Thompson (+1). 각 스레드가 고유 한 EIP (Enterprise Integration Pattern)처럼 작동하도록하는 아이디어가 있으며 Disruptor는 각 EIP 스레드 간의 초고속 메시징 시스템입니다. –
Disruptor는 스마트 배치 작업을 적용 할 수 있도록 IO 앞에 배치하는 데 유용하므로 lock-free 방식으로 값 비싼 IO 작업 비용을 상환합니다. 나는 거의 가치가없는 추가 비용 때문에 대부분의 "엔터프라이즈"소프트웨어에 대한 팬이 아닙니다. 개별 스레드는 IO를 처리 할 수 있지만 비즈니스 논리를 수행 할 수도 있습니다. Mike와 저는 QCon에서 몇 년 전에 이것을 이야기했습니다. http://www.infoq.com/presentations/LMAX –