한 회사에서 이벤트 기반 주문 처리 시스템을 설계하고 있습니다. 각 주문에는 여러 독립적인 유효성 검사 단계가 필요합니다. 각 유효성 검사 단계는 멱등(idempotent)한 AWS Lambda 함수로 구현되며, 주문 이벤트 데이터의 일부만 필요로 합니다. 구성 요소는 느슨하게 결합되어야 하며, 각 유효성 검사 Lambda는 필요한 데이터만 수신해야 합니다. 어떤 솔루션이 이러한 요구 사항을 충족할까요?
정답 선택
옵션을 탭하여 정답을 확인하세요.
정답: Amazon EventBridge 이벤트 버스를 생성하고, 각 유효성 검사 단계에 대한 이벤트 규칙을 추가한 다음, input transformer를 사용하여 각 대상 유효성 검사 Lambda 함수에 필요한 데이터만 보냅니다..
이것이 정답인 이유
정답은 Amazon EventBridge를 사용하여 각 유효성 검사 단계에 대한 규칙을 생성하고, input transformer를 이용해 각 Lambda 함수에 필요한 데이터만 전달하는 것입니다. EventBridge는 이벤트 기반 아키텍처에서 느슨한 결합을 제공하며, input transformer를 통해 각 Lambda가 필요한 데이터만 수신하도록 정밀하게 제어할 수 있어 "각 유효성 검사 Lambda는 필요한 데이터만 수신해야 한다"는 요구 사항을 가장 잘 충족합니다.
오답 설명:
SQS 대기열을 여러 개 생성하는 방법은 각 Lambda가 필요한 데이터만 수신하도록 하려면 추가적인 변환 로직이 필요하며, 이벤트 라우팅의 복잡성이 증가합니다.
SNS 주제와 메시지 본문 필터링은 가능하지만, EventBridge의 input transformer만큼 세밀하게 데이터를 변환하고 전달하기 어렵습니다.
단일 SQS 대기열과 동기적 병렬 호출은 이벤트 기반 아키텍처의 비동기적 특성과 느슨한 결합 원칙에 위배됩니다.