210
클라우드 네이티브 애플리케이션 디자인 패턴
로 주고받는 비동기 메시징 인프라스트럭처를 사용합니다.
몇몇 이벤트는 다른 시스템이 작업이나 명령을 실행해서 밥의 주소를 바꾸는 등의 일을 하도록
만듭니다. 이 경우 이벤트를 전송하는 애플리케이션은 이벤트를 소비하는 시스템이 어떤 작업
을 할 것이라고 기대하며 메시지를 보내고, 메시지를 전달하는 시스템이 이 이벤트를 전달했다
는 사실을 보장하길 원할 것입니다. 전달 사실을 보장할 필요가 없더라도, 신뢰할 수 있는 메시
지 전송을 위해 메시지 브로커나 이벤트 버스를 사용할 수도 있습니다. 이벤트 전송 보장은 다
음 절에서 더 자세히 살펴보겠습니다.
이벤트 주도 클라우드 네이티브 애플리케이션은 마이크로서비스나 아마존 람다나 애저 펑션과
같은 서버리스 컴퓨팅 플랫폼으로도 구현할 수 있습니다. 이런 서버리스 컴퓨팅 플랫폼은 기본
적으로 이벤트 트리거 방식으로 동작합니다. 특히 이벤트가 발생하는 빈도가 낮고 인프라스트
럭처에 소요하는 비용을 절감하고자 할 때 서버리스 컴퓨팅 플랫폼을 사용하면 좋습니다.
이 장에서는 여러 종류의 비연속적인 이벤트를 처리할 수 있는 이벤트 주도 클라우드 네이티
브 애플리케이션을 만들 수 있는 패턴들을 중점적으로 알아봅니다. 어떤 경우 동작 또는 시간
적 특성을 이해하기 위해 연속적인 이벤트를 처리해야 할 수도 있습니다. 이렇게 시간 축에 따
라 정렬한 연속적인 이벤트들을
스트림
이라고 부르며, 비연속적인 이벤트와는 처리하는 방법
이 상당히 다르기 때문에 스트림 처리 패턴에