한 회사가 소비자의 폴링 없이도 여러 시스템이 동일한 이벤트를 동시에 수신할 수 있는 메시징 서비스가 필요합니다.
이 회사는 어떤 AWS 서비스를 사용해야 할까요?
이 연습은 강의의 일부입니다
이론을 실습으로 바꾸는 인터랙티브 연습 중 하나를 만나보세요
클라우드 네이티브 소프트웨어의 아키텍처 기초를 학습합니다. 이 챕터를 마치면 모놀리식, 마이크로서비스, 서버리스, 이벤트 기반 패턴 중에서 상황에 맞게 선택할 수 있고, 강한 결합과 느슨한 결합, 동기 통신과 비동기 통신의 차이를 이해할 수 있습니다. 또한 상태 비저장(stateless) 서비스에서 상태를 관리하고, 재시도, 지수 백오프, 회로 차단기(circuit breaker), 데드레터 큐를 활용해 복원력 있는 시스템을 설계할 수 있게 됩니다.
Amazon API Gateway를 사용해 API를 구축, 보호, 운영하는 방법을 배웁니다. 이 챕터를 마치면 상황에 맞는 API 유형(REST, HTTP, WebSocket)을 선택할 수 있고, 유효성 검사와 변환 기능을 포함한 Lambda 통합을 구성할 수 있습니다. 또한 CloudFormation, SAM, CDK를 활용해 여러 스테이지에 API를 배포하고, Amazon Cognito, IAM, Lambda 권한 부여자(authorizer), 암호화, 제한(throttling) 기능으로 API를 보호할 수 있게 됩니다.
결합도가 낮고 이벤트 기반이며 스트리밍 방식으로 동작하는 워크로드를 구축합니다. 이 챕터를 마치면 Amazon SQS 큐(FIFO 큐와 데드레터 큐 포함)와 구독 필터링 기능을 갖춘 Amazon SNS 토픽으로 서비스 간 결합도를 낮출 수 있습니다. 또한 Amazon EventBridge의 규칙, 이벤트 패턴, 스키마를 활용해 이벤트를 라우팅하고, Amazon Kinesis Data Streams와 Data Firehose로 대용량 데이터를 처리할 수 있습니다. 마지막으로 Amazon DynamoDB Streams를 사용해 테이블 변경 사항에 실시간으로 대응하는 방법도 익히게 됩니다.
현재 연습