검색

85장. Disruptor 구성 요소

download PDF

Camel 버전 2.12에서 사용 가능

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

Disruptor-vm: 이 구성 요소에서 끝점을 지원하여 표준 VM 에 대한 대안을 제공합니다. SEDA 구성 요소와 마찬가지로 중단자의 버퍼 : 끝점은 단일 CamelContext 내에서만 표시되고 지속성 또는 복구에 대한 지원은 제공되지 않습니다. interruptor -vm: 끝점의 버퍼는 CamelContexts 인스턴스 간 통신 지원도 제공하므로 이 메커니즘을 사용하여 웹 애플리케이션 간에 통신할 수 있습니다( camel-disruptor.jar시스템/부팅 클래스 경로에 있음).

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

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

  • 사용되는 버퍼는 항상 크기(기본 1024 교환)로 바인딩됩니다.
  • 버퍼가 항상 표시되므로 예외를 throw하는 대신 버퍼가 가득 차는 동안 Disruptor의 기본 동작은 차단됩니다. 이 기본 동작은 구성 요소에 구성할 수 있습니다(옵션 참조).
  • Disruptor enpoints는 BrowsableEndpoint 인터페이스를 구현하지 않습니다. 따라서 현재 Disruptor에 있는 교환은 회수할 수 없으며, 교환액만 회수할 수 있습니다.
  • Disruptor를 사용하려면 소비자(다중캐스트 또는 기타)를 정적으로 구성해야 합니다. 날로 소비자를 추가하거나 제거하려면 Disruptor의 모든 보류중인 교환을 완전히 플러시해야 합니다.
  • 재구성의 결과로: 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.