본문 바로가기

Programming/[AWS]

[AWS] AWS SQS

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