AWS의 SQS(Simple Queue Service)는 완전 관리형 메시지 큐 서비스이다.
메시지 큐란
메시지 큐(Message Queue)란 프로세스 또는 프로그램 간 데이터를 교환할 때 사용하는 통신 방법 중 하나로서, 비동기 메시를 사용하는 프로그램들 간의 데이터를 송수신하는 용도로 사용된다.
메시지를 전송할 때는 Producer(메시지 생산자)가 메시지를 큐에 전달하고, 해당 메시지는 Consumer(소비자)에게 전달된된다.
각 메시지는 Comsumer에 의해 한 번 만 처리되기 때문에, 일반적으로 메시지 큐는 일대일 통신방식에 사용된다.
SQS의 큐 처리 과정
위 그림과 같이 SQS의 기본적인 큐 처리과정은 다음과 같다.
- Producer는 메시지를 생성하여 큐로 메시지를 전송
- 큐는 메시지를 일정 기간 보관 (최대 14일)
- Consumer는 주기적으로 큐를 폴링(Polling)하면서 신규 메시지가 있다면 가져가서 처리
- 처리가 끝나면 큐로 ACK(또는 NACK)를 전송
- 큐는 Ack를 받으면 메시지를 제거 (NACK를 받으면 메시지를 제거하지 않음)
SQS의 특징
AWS SQS는 완전 관리형 서비스로서 내구성, 가용성, 확장성이 매우 우수하다.
- 가용성 : 메시지를 저장하는 큐 서버는 여러 대로 구성되어 있음
- 내구성 : 메시지의 안전을 위해 하나의 메시지는 여러 서버에 저장됨
- 확장성 : 별도의 설정 없이도 로드 증가 및 급증에 따라 자동으로 큐 서버가 확장됨
SQS의 주요 기능
표준대기열 : 최소 1회 전송, 메시지 순서 보장되지 않음
FIFO 대기열 : 선입선출, 메시지 순서가 유지됨
메시지 중복 처리 방지 : 다른 Consumer에서 메시지를 중복처리 하는 것을 방지하기 위해 차단하는 시간을 최대 12시간으로 설정
메시지 암호화 : SQS로 전송 중인 데이터를 KMS를 이용하여 암호화
'IT정보' 카테고리의 다른 글
아나콘다에 텐서플로우 설치하기 (0) | 2024.04.30 |
---|---|
아나콘다를 이용하여 JupyterLab 사용하기 (2) | 2024.04.27 |
아나콘다(Anaconda) 개발환경 구성하기 (0) | 2024.04.24 |
파이썬 코딩을 위한 아나콘다(Anaconda) 설치하기 (1) | 2024.04.20 |
S3 정적 웹 호스팅에 보안 설정하기 (0) | 2024.03.26 |
유비소프트 게임 할인정보 (봄맞이 특별 할인) (2) | 2024.03.23 |
스팀게임 특별할인 정보 (3월) (0) | 2024.03.17 |
[AWS] 공짜로 아이디/패스워드를 안전하게 관리하는 방법 (0) | 2024.03.10 |