2013-11-25 5 views
8

누구든지 프로덕션 환경에서 상관 ID를 사용할 수있는 방법에 대한 예제를 제공 할 수 있습니까?메시징에서 상관 ID가 사용되는 방법의 실제 예는 무엇입니까?

요청/응답 유형의 메시지에서 사용되었지만 사용 장소를 이해하지 못한다고 읽었습니다.

예를 들어 (내가 잘못 생각하는 경우) 내가 5 명의 가입자를 가질 수있는 게시판 구독 시나리오에 있다고 생각할 수 있습니다. 동일한 상관 ID로 5 개의 응답을받는 경우 모든 가입자가이를 수신했다고 말할 수 있습니다. 이것이 올바른 사용법인지 확실하지 않습니다.

간단한 메시지를 보내면 상관 관계를 사용하여 클라이언트가 메시지를 수신했음을 보증 할 수 있습니다.

다른 예는 무엇입니까?

+2

당신은 http://www.rabbitmq.com/tutorials/tutorial-six-java.html을 보았습니까? 'correlation_id'에 대한 좋은 설명이 있습니다. – pinepain

+3

여기 [상관 및 대화] (http://www.eaipatterns.com/ramblings/09_correlation.html)에서 패턴 세부 정보를 볼 수 있습니다. HTH –

+0

답장을 보내 주셔서 감사합니다. 이제 상관 ID의 요지를 얻었습니다. 상관 ID가 사용 된 실생활의 예는 무엇입니까? –

답변

5

처리 작업을 수행하기 위해 외부인에게 HTTP API를 제공하고 발신자에 대한 결과를 HTTP 요청에 대한 응답으로 제공하려는 웹 응용 프로그램입니다.

요청이 들어 오면 작업을 설명하는 메시지가 프런트 엔드 서버에서 대기열로 푸시됩니다. 그 후 프론트 엔드 서버는 동일한 상관 ID가있는 응답 메시지를 대기하도록 블록합니다. 작업자 컴퓨터 풀이 대기열에서 수신 대기 중이고 그 중 하나가 작업을 선택하여 수행하고 결과를 메시지로 반환합니다. 오른쪽 상관 ID가있는 메시지가 오면 프론트 엔드 서버는 계속 응답을 호출자에게 리턴합니다.

4

CQRS and EventSourcing의 컨텍스트에서 명령 메시지 상관 ID는 도메인의 해당 이벤트와 함게 저장됩니다. 이 정보는 나중에 audit trail을 형성하는 데 사용될 수 있습니다.

+0

correlationId에 전달할 내용에 대한보다 구체적인 예를 제공 할 수 있습니까? 감사 – Marconi