2016-05-31 4 views
1

Rabbit MQ 전송을 사용하는 Spring XD 1.3.1의 경우, 분산 됨.하나의 Spring XD 스트림에 여러 개의 탭을 정의 할 수 있습니다.

스프링 XD 탭이 메트릭에 대해 작동하는 방식에 대해 설명합니다. 하나의 스트림을 여러 번 탭하여 기본 스트림을 통해 각 메시지를 활성 탭에 보낼 수 있는지 알아야합니다.

시나리오는 몽고와 같이 싱크대로 전달하기 전에 처리되는 토끼 소스가있는 스트림입니다. 이 스트림은 대체 싱크에 두드려집니다. 또한 총계 카운터 및 원본 메시지의 다른 필드 (JSON의 경우)를 찾는 유형별로 전체 메시지 및 메시지에 대한 메트릭을 유지하는 몇 가지 필드 값 카운터를 비롯하여이 스트림에 여러 메트릭을 만들려고합니다.

각 탭에 메시지 복사본이 있는지 여부는 설명서에 분명하지 않습니다.

테스트에서 첫 번째 탭은 모든 메시지를 가져 오지만 필드 값이나 집계 카운터는 데이터를 가져 오는 것으로 보이지 않습니다.

답변

1

예, 스트림에는 여러 개의 탭이있을 수 있습니다. 다음은 example입니다. 내부적으로 XD는 메시지 버스를 bind to a pub-sub resource (전송 종속적)으로 사용합니다. 예를 들어 Rabbit MQ 전송을 사용하면 스트림의 각 잠재적 탭 포인트에 대해 팬 아웃 교환이 created입니다. 그 교환에 큐를 바인딩하는 것은 지연 스트림 (lazily), 즉 탭 스트림이 생성 될 때 수행된다. Rabbit 관리 콘솔에서 각 탭에 해당하는 교환 및 대기열 바인딩을 확인해야합니다.

모든 탭에서 메시지가 표시되지 않는 이유가 확실하지 않습니다. 탭은 항상 배포되어야하며 (대상 스트림이 생성 된 후 대상 스트림이 배포되기 전에) 탭에 배포되기 전에 스트림의 모든 데이터는 탭에서 사용되지 않습니다.