Devsecops

SQS 본문

AWS/SQS

SQS

Futurism 2023. 2. 8. 12:42
728x90

SQS

- 완전 관리된 서비스, Application을 분리하는데 사용
- 무제한 처리, Queue에 무제한 메세지 보관 가능
- 낮은 지연성
- 메시지당 256KB의 크기 제한을 가짐
- 중복 메세지 가능
- 순서가 없다
- 별도의 대기열을 사용하여 작업의 우선순위를 지정할 수 있다

메시지 생산

- SDK(SendMessage API)를 통해 SQS로 메시지를 보낸다
- 소비자가 메시지를 삭제(DeleteMessage API)할 때 까지 계속 SQS에 저장된다
메시지를 삭제하지 않으면 다른 소비지가 계속해서 Poll할 수 있게 된다
- 메시지 보관은 기본 4일 최대 14일 까지 보관된다
- 한번에 10개의 메시지 까지 Poll 할 수 있다( 받는 입장에서 한번에 10개의 메시지를 받을 수 있다)

보안

- 전송 중 암호화(HTTPS)
- 저장된 메시지 암호화
- 클라이언트측 암호화 수행 가능
- SQS Access Policies(S3 Policies와 비슷) 을 통하여
여러 계정으로 SQS 접근
다른 서비스를 SQS 에 Write를 수행하는데 유용하다

Message Visibiity Timeout

- 메시지가 소비자에게 Poll 된 이후 다른 소비자에게 보이지 않는 상태가 되는 시간
- 기본 30초로 설정(30초동안 처리 함을 의미)
- 시간이 지나면 다시 보여진다
- 시간내에 처리하지 못하면 2번 처리될 수 있다
이와 같은 경우에 ChangeMessageVisibility API를 통해 더 많은 시간을 설정 할 수 있다
시간이 너무 많이 설정 되면 소비자 충돌, 재 처리하는데 많은 시간이 걸리고
시간이 너무 적게 설정 되면 중복 처리될 수 있다

Long Polling

- 소비자가 메시지를 SQS에서 가져오려고 할 때 메시지가 아직 없으면 대기하여 받을 수 있는 기능
- 이를 통하여 API 호출을 줄일 수 있고, 효율성 증대, 지연성을 감소할 수 있다
- Queue에서 직접, WaitTimeSeconds API를 이용하여 설정 할 수 있다

FIFO Queue

- FIFO 구조
- 일괄 처리(batching)시 3000개 처리 가능,없으면 300개 처리 가능
- 중복을 제거함으로써 하나씩 보내는 기능을 가진다
- 소비자를 통하여 순차적으로 처리된다

728x90

'AWS > SQS' 카테고리의 다른 글

SQS 활용  (0) 2023.02.08