본문 바로가기
TECH

SQS (AWS Simple Queue Service)

by Stella-Park 2023. 3. 13.
728x90

이메일 / SMS / 카카오톡을 보낼 때 이용하려고 AWS SQS를 찾아보았다. 💻

 

Queue

일반적으로 각 어플리케이션들이 가지는 Coupling을 끊어주는 역할

SQS

Producer가 메시지를 보내서 Queue에 메시지를 저장하고 Consumer가 가져가서 Processing하는 방식

Polling

하나의 프로그램이 충돌을 회피 또는 동기화 처리 등을 목적으로 다른 프로그램의 상태를 주기적으로 검사해서 일정한 조건을 만족할 때 송수신 등의 자료 처리를 하는 방식(ex - 실시간처럼 보이는 대부분의 웹사이트들은 클라이언트가 서버에게 일정한 주기를 가지고 응답을 주고받는 폴링 방식을 사용)
But, 문제점
1. 폴링의 주기가 짧으면 서버의 성능에 부담이 간다.
2. 주기가 길면 실시간성이 떨어진다.

 

구조

 

 

종류: SQS Standard(표준 대기열, 순서 보장하지 않음) / SQS FIFO(들어온 순서대로 처리)

  SQS Standard SQS FIFO
장점 - 무제한에 가까운 메시지 전송 지원(Limited Throughout 제한 X
- 최초 1회 전달 보장(단, 중복 수신 가능성)
- 최대한 순서 보장
- 메시지 순서 보장
- 1번의 전송/수신(중복 수신 방지)
- Limited Throughout(최대 처리량) 초당 300TPS 제한
단점 - 메시지 순서 보장 X
- 반드시 1번만 읽기 보장 X
- 순서를 위해 느린 포퍼먼스

 

Node.js에서 https://www.npmjs.com/package/sqs-consumer라이브러리를 사용했는데 위의 내용들이 몇 줄로 구현이 쉽게 되었다.

728x90

'TECH' 카테고리의 다른 글

content-visibility 속성  (2) 2025.05.22
ZonedDateTime  (6) 2025.05.19
Swiper  (0) 2024.10.25
🔎 EC2 + Route S3 + SSL 인증서  (0) 2024.08.11
Lottie 로딩바 적용하기  (0) 2023.08.06