SQS
- 어플리케이션을 분리할 때 사용
- 처리량에 제한이 없음
- 메시지가 256kB 제한이 있으며, 14일까지 대기 큐에 존재할 수 있음 (기본 4일)
- 다중 컨슈머를 가질 수 있음 (EC2, 람다 등등)
- FIFO 큐도 세팅 가능함
Auto Scaling Group
- CloudWatch과 결합해서 오토 스케일링 가능
가시상 시간 초과
- 메시지가 폴링되고 나서, 특정 시간 동안 다른 컨슈머들에게 비가시성 상태가 됨
- 만약 가시상 시간 초과가 지나고 날 때 메시지가 처리되지 않는다면, 2번 호출 될 수 있으며 그럴 때 ChangeMessageVisibility를 호출해야함
롱폴링
- 대기열에 메시지가 없는데 컨슈머가 큐로부터 대기하는 것을 지칭
- 미리 대기하고 있으면, 일단 속도가 빠르고 효율적
SNS
- 메시징 서비스이며, 해당 기능들을 제공함
- AWS에서 알림이 발생하면 지정된 SNS 서비스로 메시지를 전달
SNS + SQS: 펜 아웃
- SNS 토픽이 SQS 큐에 데이터를 쓸 수 있게 권한 부여
- 이렇게 하면 SNS를 거쳐서 큐에 들어가서 더 안정적
- 메시징 필터링 기능도 있음
Kinesis
- 데이터 수집, 처리, 분석을 실시간으로 해주는 서비스
- 총 4개가 있으며 알아보자
Kinesis Data Streams
- 프로비저닝된 모드랑 온디멘드 모드로 분리됨
Kinesis Data Firehose
일년 중 최대 세일 기간인 블랙 프라이데이를 준비하고 있는 전자 상거래 웹사이트가 있습니다. 트래픽은 100배가 증가할 것으로 예상됩니다. 이 웹사이트는 이미 SQS 표준 대기열을 사용하고 있습니다. SQS 대기열은 어떻게 준비해야 할까요?
- AWS 지원 센터에 연락해 SQS 표준 대기열을 준비해줄 것을 요청
- SQS 대기열에 오토 스케일링 활성화
- SQS 대기열 용량 늘리기
- SQS이 자동으로 스케일링해줄 것이므로 아무 조치도 취하지 않음
소비자들이 한 번에 10개의 메시지를 폴링하고 1분 내로 이에 대한 처리를 완료하는 SQS 대기열이 있습니다. 잠시 후, 여러분은 동일한 SQS 메시지를 다른 소비자들도 수신하여 메시지가 한 번 이상 처리되었음을 알게 되었습니다. 이 문제를 해결하기 위해서는 어떻게 해야 할까요?
- 롱 폴링 활성화
- 메시지 생성 시 메시지에 DelaySeconds 파라미터 추가
- 가시성 시간 초과 늘리기
- 가시성 시간 초과 줄이기
'Infra > AWS' 카테고리의 다른 글
[AWS] Serverless (0) | 2023.10.01 |
---|---|
[AWS] ECS, ECR, EKS, Fargate (0) | 2023.10.01 |
[AWS] 여러가지 Storage (0) | 2023.09.28 |
[AWS] CloudFront (0) | 2023.09.28 |
[AWS] S3 (0) | 2023.09.28 |