일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- EC2
- docker
- 브리지
- kubernetes
- IPS
- ssh
- 7계층
- Telnet
- ICMP
- Queue
- Storage Gateway
- tcp
- 스위치
- C#
- 네트워크
- english
- AWS
- SMTP
- 라우터
- IDS
- 침입탐지시스템
- Protocol
- 보안관제
- ELB
- SQS
- AI스쿨
- 3way handshaking
- 침입차단시스템
- k8s
- 프로토콜
- Today
- Total
Devsecops
SQS 본문
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개 처리 가능
- 중복을 제거함으로써 하나씩 보내는 기능을 가진다
- 소비자를 통하여 순차적으로 처리된다