SQS란
일종의 "TODO LIST - 시스템ver." 이다.
서버들끼리 사용 가능한 메시지 큐를 제공하는 서비스이다.
비동기 메시징 서비스를 제공한다.
기본 아키텍처
분산 대기열 구조를 가지고 있다.
생산자가 메시지를 대기열로 보내면 대기열로 보내진 정보는 여러 SQS 서버에 해당 메시지를 중복 저장한다. 분산 저장한다는 의미이다.
대기열에 올라왔더라도 소비자가 바로 처리하는 건 아니고 처리할 준비가 되면 메시지를 수신하여 처리를 진행한다.
소비자가 대기열 메시지를 수신하면 Visibility timeout period가 시작되는데 일종의 타이머 같은 개념이다.
소비자가 메시지를 수신했더라도 대기열의 메시지는 삭제되지 않는다.
타이머가 종료되기 전에 소비자가 메시지 처리를 끝내면 그제야 대기열의 메시지도 삭제된다.
그럼 대기열에 있는 다음 메시지 처리가 시작된다.
주요 구성요소
메시지
SQS의 기본 데이터 단위이다.
XML, JSON과 같은 텍스트 형태 데이터이고 최대 64KB까지 가능하다
대기열(큐)
메시지를 담는 공간이다.
메시지는 무제한 담아낼 수 있다
Region별로 생성할 수 있고 Region에 있는 큐 이름은 유일해야한다
연속 30일 동안 대기열(큐)에 아무런 요청이 없을 경우 AWS에서 해당 대기열(큐)를 삭제할 수 있다
대기열 종류는 표준 대기열과 FIFO 대기열이 있다.
- 순서 상관 없을 경우, 표준대기열
- 선입선출해야하는 경우, FIFO 대기열
AWS SAA-C03 V18.35 Q7
Situation
- 회사로 들어오는 메시지 수집 응용 프로그램이 있음
- 애플리케이션과 마이크로 서비스가 프로그램이 수집한 메시지를 빠르게 소비함
- 메시지 수는 초당 100,000개로 갑자기 증가하기도 함
Mission
- 솔루션을 분리하고 확장성을 높여야 함
Action
대기열에서 읽을 수 있도록 스프트웨어 업데이트
→ 들어오는 요청을 Amazon Simple Queue Service(SQS)에 라우팅 (SNS 주제에 메시지 게시)
→ 처리 인스턴스의 작업 요청 분리
→ 대기열의 크기에 따라 인스턴스 수를 확장할 수 있고 더 많은 리소스를 제공할 수도 있음
출처
Amazon SQS 기본 아키텍처 - Amazon Simple Queue Service
Amazon SQS는 최대 메시지 보존 기간 넘게 대기열에 유지된 메시지를 자동으로 삭제합니다. 기본 메시지 보존 기간은 4일입니다. 그러나 SetQueueAttributes 작업을 사용하면 메시지 보존 기간을 60초에
docs.aws.amazon.com
[AWS] SQS 란?
Amazon Simple Queue Service (Amazon SQS) 는 내구력 있고 가용성이 뛰어난 보안 호스팅 대기열을 제공하며 이를 통해 분산 소프트웨어 시스템과 구성 요소를 통합 및 분리할 수 있습니다. (https://docs.aws.amaz
velog.io
[AWS] SNS , SQS 란 ?
SNS , SQS
velog.io
'AWS' 카테고리의 다른 글
AWS Glue (0) | 2023.12.29 |
---|---|
AWS Kinesis Data Streams, Kinesis Firehose (1) | 2023.12.28 |
S3 버전관리, Object Lock, MFA delete (AWS-SAA_C03_V18.35_Q44, Q53) (1) | 2023.12.27 |
AWS Network Firewall, Network Access Control List, Security Group (1) | 2023.12.26 |
VPC Endpoint란? (AWS_SAA-C03_V18.35_Q4) (0) | 2023.12.25 |