💻 CSP/AWS

[AWS] SQS (Simple Queue Service)

heywantodo 2023. 5. 5. 11:25
728x90
반응형

[AWS] SQS (Simple Queue Service)

 

SQS (Simple Queue Service)

: 분산 된 메시징 대기열 서비스로, 소프트웨어 컴포넌트 간에 비동기 메시지를 전송하는 데 사용됨

큐를 생성하고, 메시지를 보내고, 받는 기능을 제공함 

 

다양한 AWS 서비스와 통합될 수 있음 (SNS, Lambda, EC2, S3 등)

분산 된 시스템 아키텍처에서 유용하며, 서로 다른 시스템 간에 메세지를 안정적이고 확장 가능하게 전송

 

SQS 처리 과정

  1. 메시지 생성: 메시지를 생성하고, SQS 대기열에 보내기 위해 SQS API를 사용
  2. 대기열 수신: SQS 대기열에 저장된 메시지를 수신, 대기열은 표준 대기열과 FIFO 대기열로 구성
  3. 메시지 처리: 대기열에서 가져온 메시지를 처리함 이때, 애플리케이션 로직에 따라 다양한 처리가 가능 예를 들어, 데이터베이스에 저장하거나, 다른 서비스에 전송하는 등의 작업을 수행 가능
  4. 삭제: 메시지가 처리되면, SQS 대기열에서 메시지를 삭제, 이미 처리된 메시지는 다시 처리되지 않도록 보장

 

SQS 대기열 유형

표준대기열 (Standard)

: 대량의 메시지 처리와, 순서가 중요하지 않은 경우에 적합 

  • 수백만 개의 메시지를 초당 처리할 수 있음
  • 메시지가 한 번 이상 전달될 수 있음 ex) 네트워크 오류
  • 메시지의 전달 순서가 보장되지 않음
  • 메시지의 중복 전달이 가능  

 

FIFO대기열 (Fist-In-First-Out)

: 메시지 처리 순서를 보장하므로 높은 정확성이 요구되는 비지니스 로직에서 사용됨 ex) 주문 처리, 금융 거래

처리량 제한이 있으므로 대량의 메시지 처리에는 적합하지 않음 

  • 초당 최대 300개의 메시지만 처리 가능
  • 메시지의 정확한 전달 순서가 보장됨
  • 메시지가 정확히 한 번만 전달됨
  • 메시지의 중복 전달이 불가능함

 

참조

https://aws.amazon.com/ko/sqs/features/

 

Amazon Simple Queue Service(SQS) | 분산 애플리케이션 및 마이크로 서비스를 위한 메시지 대기열 서비스

 

aws.amazon.com

728x90
반응형