1. SQS의 의미
- Simple Queue Service는 AWS의 빠르고 안정적인 메세지 Queue(대기열) 서비스
- 분산 시스템을 구성할때 시스템간 메세지를 주고 받을 수 있는 대기열
- 전송, 수신, 삭제 3가지 기능 제공
2. SQS의 장점
1 ) 안정성
- SQS는 Amazon의 고가용성 데이터 센터에서 실행되며 애플리케이션에서 필요하면 언제든기 대기열을 사용할 수 있다. 또한, 메세지가 유실되거나 손상되지 않도록 모든 메세지는 여러 서버와 데이터 센터에 걸쳐 중복으로 저장된다.
2 ) 간편함
- 개발자는 5개의 APi만으로 Amazon SQS를 시작할 수 있으며, 고급 기능을 제공하는 추가 API도 사용할 수 있다.
3 ) 확장성
- SQS는 언제든 무제한의 메세지를 읽고 쓰도록 설계되었다.
4 ) 보안
- 보안 인증 메커니즘을 통해 대기열에 저장된 메세지가 무단 접근으로부터 확실하게 보호된다.
5 ) 저렴한 비용
3. SQS 기본 아키텍쳐
- 메시지를 전송하면 Queue 대기열에서 수신
- 수신된 메세지를 처리하는 Worker가 존재
- Worker에서 수신된 메시지를 처리완료하면 방금 수신받은 메시지를 삭제해달라는 요청
4. SQS 대기열의 종류
1 ) Standard Queue (표준 대기열)
- Standard Queue는 초당 무제한에 가까운 TPS를 지원
- SNS와 사용할 경우 메시지 유실 가능성이 없음
- 메세지의 순차성을 보장해 주지 않는다.
- 동시에 메세지를 읽으려 할 경우 하나의 메세지를 중복으로 수신할 수 있다.
2 ) FIFO Queue (순차 대기열)
- 메세지의 순차성을 보장
- 메세지 중복 수신 가능성 없음
- Standard Queue 보다 느림 (초당 300개의 메시지 전송, 수신, 삭제)
- Standard Queue 보다 비쌈
5. DLQ
- Queue를 생성하면 DLQ라는 전송 실패에 대한 Queue가 같이 생성
- 메세지를 받아서 처리한 후 Queue에 해당 메세지를 잘 처리했으니 삭제해달라는 요청을 전송을 해야함 (삭제 요청이 오지 않음 DLQ로 해당 메세지는 전송 됨)
'Programming > [AWS]' 카테고리의 다른 글
[AWS] Amazon Web Service (0) | 2023.04.14 |
---|