85장. Disruptor Component


Camel 버전 2.12로 사용 가능

중단자: 구성 요소는 표준 SEDA 구성 요소만큼 비동기 SEDA 동작을 제공하지만 표준 SEDA에서 사용하는 BlockingQueue 대신 Disruptor 를 활용합니다. 또는, A

Disruptor-vm: 이 구성 요소에서 엔드포인트를 지원하여 표준 VM 에 대한 대안을 제공합니다. SEDA 구성 요소와 마찬가지로 중단자의 버퍼: 엔드 포인트가 단일 CamelContext 내에서만 볼 수 있으며 지속성 또는 복구에 대한 지원은 제공되지 않습니다. disruptor-vm: 엔드포인트는 CamelContexts 인스턴스 간 통신을 지원하므로 이 메커니즘을 사용하여 웹 애플리케이션 간에 통신할 수 있습니다( camel-disruptor.jarsystem/boot classpath에 있음)

SEDA 또는 VM Component에서 Disruptor Component를 사용하도록 선택하는 주요 이점은 생산자 및/또는 멀티 캐스트 또는 동시 소비자 간에 경합이 높은 사용 사례에서 성능에 해당합니다. 이러한 경우 처리량이 크게 증가하고 대기 시간 감소가 관찰되었습니다. 경합이 없는 시나리오의 성능은 SEDA 및 VM 구성 요소와 유사합니다.

Disruptor는 SEDA 및 VM 구성 요소의 동작 및 옵션을 모방하려는 의도로 구현됩니다. 이 둘의 주요 차이점은 다음과 같습니다.

  • 사용된 버퍼는 항상 크기가 바인딩됩니다(기본값 1024 교환).
  • 버퍼가 항상 표시되므로 Disruptor의 기본 동작은 예외를 throw하는 대신 버퍼가 가득 차는 동안 차단되는 것입니다. 이 기본 동작은 구성 요소에서 구성할 수 있습니다(옵션 참조).
  • Disruptor enpoints는 BrowsableEndpoint 인터페이스를 구현하지 않습니다. 따라서 현재 Disruptor의 교환은 거래량 만 검색할 수 없습니다.
  • Disruptor는 소비자(multicasted 또는 그 외에는)를 정적으로 구성해야 합니다. 즉시 소비자를 추가하거나 제거하려면 Disruptor에서 보류 중인 모든 Exchange를 완전히 플러시해야 합니다.
  • 재구성의 결과로: Disruptor를 통해 전송된 데이터는 적어도 한 명의 소비자가 있는 경우 직접 처리되고 'gone'은 가입한 이후에만 새로운 교환이 발행됩니다.
  • pollTimeout 옵션은 Disruptor Component에서 지원하지 않습니다.
  • 전체 Disruptor에서 생산자가 차단되면 스레드 인터럽트에 응답하지 않습니다.

Maven 사용자는 이 구성 요소를 위해 다음 종속성을 pom.xml 에 추가해야 합니다.

<dependency>
    <groupId>org.apache.camel</groupId>
    <artifactId>camel-disruptor</artifactId>
    <version>x.x.x</version>
    <!-- use the same version as your Camel core version -->
</dependency>

85.1. URI 형식

 disruptor:someName[?options]

또는

 disruptor-vm:someName[?options]

여기서 someName 은 현재 CamelContext 내에서 끝점을 고유하게 식별하는 문자열(또는
disruptor-vm:의 경우)일 수 있습니다.
다음 형식으로 URI에 쿼리 옵션을 추가할 수 있습니다.

  ?option=value&option=value&…
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.