2014-04-10 4 views
2

간단하고 안정적인 웹 응용 프로그램을 만들 때 사용자로부터 오는 요청을 처리하는 웹 서버가 있습니다. 이 서버가 요청을 메시지로 변환하여 대기열에 게시하는 경우. 마이크로 서비스가 처리 할 때 조각 (마이크로 서비스 메시지)에서 응답을 어떻게 다시 생성하고 적합한 사용자를 어떻게 식별합니까? 요청이 속한 큐의 메시지를 표시하는 세션 ID 또는 다른 ID를 통해 처리합니까?마이크로 서비스 아키텍처에서 http 요청 및 응답을 처리하는 방법은 무엇입니까?

답변

2

이것은 동기식 상호 작용 (요청 - 응답 상호 작용)을 위해 대기열을 사용할 때 일반적으로 발생하는 문제입니다. 요청에 대한 대기열과 응답에 대한 콜백 메커니즘 (두 번째 대기열 일 수 있음) (사용자가 HTTP 요청을받을 수 있다고 가정 할 경우 사용자에 대한 http 콜백)이 필요할 수 있습니다. 어쨌든 마이크로 서비스에 의해 생성 된 응답을 원래 요청에 연관 시키려면 상관 식별자이 필요합니다. correlation identifier pattern은 Hohpe and Wolf의 EIP 서적에 설명되어 있습니다.

+0

이렇게하는 일반적인 방법은 상관 관계 식별자를 풀링 메커니즘과 함께 사용하는 것입니다. 콜백을 사용할 수 있습니다 (클라이언트가 웹 소켓을 지원하는 경우). 그러나 이것은 높은 트랜잭션 시스템에서 현명한 선택이 될 것입니다 * – Marco

0

마지막으로 작업을 수행 한 솔루션은 모든 응답을 키/값 구조 (이 경우에는 다른 마이크로 서비스)에 저장하는 것이 었습니다. 응답이 필요할 때, ID에 의해 호출되고 일부 페이로드가 추가 된 다음 발송됩니다. 이 경우 필요한 경우 모든 서비스가 응답 할 수 있습니다.

관련 문제