223
5
장
이벤트 주도 아키텍처 패턴
필요한 경우 전송이 실패한 이벤트를 재전송하도록 만들어서 전송 성공률을 올릴 수 있습니다.
날씨 예측 서비스의 예에서 각 날씨 측정 클라이언트는 서버로부터 ‘
202
Accepted
’와 같은 성
공 응답을 받을 때까지 이벤트를 전송할 수 있습니다. 하지만 서버가 상당히 긴 시간 동안 접근
이 불가능한 상태인 경우, 보내야 하는 이벤트를 서버가 정상이 될 때까지 클라이언트 측에 모
아둘 능력이 없다면 최소 한 번 전달 보장은 불가능합니다.
또한 클라이언트가 여러 서비스에 이벤트를 고루 분산해야 하는 경우도 있습니다. 단일 날씨
측정 클라이언트가 다섯 개의 날씨 서비스에 돌아가며 이벤트를 전달한다고 생각해봅시다. 네
트워크 부하 분산기와 같은 중간 매체를 사용해서 이벤트를 분산할 수도 있고, 클라이언트가
모든 날씨 서비스에 대한 접근 주소를 관리하고 스스로 이벤트를 분산해서 전달할 수도 있습니
다. 두 번째 방법은 날씨 측정 클라이언트가 너무 복잡해지기 때문에 권장하지 않습니다.
관련 패턴들
생산자-소비자 패턴
소비자가 이벤트 큐를 구독함으로써 이벤트가 단일 소비자에게 전달하며, 높은 전달 수준을
보장합니다.
스토어 앤 포워드 패턴
서비스 엔드포인트로 이벤트를 전달하며 이때 최소 한 번 전달을 보장합니다.
5.2.45.2.4
스토어 앤 포워드 패턴 스토어 앤 포워드 패턴
스토어 앤 포워드 패턴
store
and
forward
pattern
을 사용하면 클라이언트가 서비스에 이벤트를 보낼 때
최소 한 번 전달을 보장할 ...