
124
이벤트 기반 마이크로서비스 구축
해서 특정한 속성 (예: 국가, 표준 시간대, 출처, 제품 등 )에 따라 어디로 보낼지 결정하는 경우
가 많습니다. 그 다음으로는, 다른 출력 이벤트 스트림에 결과를 내보내는 경우도 많습니다. 가
령, 처리 중 에러가 발생하면 이벤트를 완전히 삭제하는 게 아니라 데드-레터 스트림
dead
-
letter
stream
2
에 출력하는 식입니다.
컨슈머 애플리케이션에서 스트림을 병합해야 할 수도 있습니다. 여러 입력 스트림에서 들어온
이벤트를 소비해서 유의미한 방법으로 처리한 다음 하나의 출력 스트림으로 내보내는 것입니
다. 물론 여러 스트림을 하나의 스트림으로 병합하는 일이 중요한 시나리오는 그리 많지 않습
니다. 마이크로서비스는 필요한 만큼 여러 입력 스트림에서 이벤트를 소비하여 비즈니스 로직
을 수행하는 일이 더 일반적이기 때문입니다. 다수의 입력 스트림에 있는 이벤트를 일관되고
재생산 가능한 순서로 소비/처리하는 방법은
6
장에서 다룹니다.
WARNING
_
이벤트 스트림을 병합할 때에는 병합된 이벤트 스트림 도메인을 나타내는 새로운 통합 스키
마를 정의하세요. 만약 이런 도메인이 별 의미가 없다면 스트림을 그대로 둔 상태로 전체적인 시스템 설계를
다시 고민해보는 편이 좋습니다.
5.2
이벤트 스트림 리파티션
이벤트 스트림은 이벤트 ...