[AWS] SQS(Simple Queue Service) 란?


AWS SQS(Simple Queue Service) 란?

Amazon Simple Queue Service(SQS)는 마이크로 서비스, 분산 시스템 및 서버리스 애플리케이션을 쉽게 분리하고 확장할 수 있도록 지원하는 완전관리형 메시지 대기열 서비스이다.

SQS에서는 2가지 종류의 메시지 대기열을 제공한다.
표준 대기열은 최대 처리량, 최선 노력 순서, 최소 1회 전달을 제공합니다.
SQS FIFO 대기열은 메시지가 전송된 정확한 순서대로 정확히 한 번 처리되도록 설계되었다.


기능

  • 무제한 대기열 및 메시지 : 메시지 수가 무제한인 무제한 Amazon SQS 대기열을 리전에 생성합니다.
  • 페이로드 크기 : 메시지 페이로드는 형식과 관계없이 최대 256KB의 텍스트를 포함할 수 있습니다. 페이로드 64KB ‘청크’당 1개의 요청으로 청구됩니다. 예를 들어, 256KB 페이로드를 사용하는 단일 API 호출은 4개의 요청으로 청구됩니다. 256KB보다 큰 메시지를 전송하려면 Amazon S3에 메시지 페이로드를 저장하는 Java용 Amazon SQS 확장 클라이언트 라이브러리를 사용하십시오. 메시지 페이로드에 대한 참조는 SQS를 사용하여 전송됩니다. 배치(Batches): 한 번에 최대 10개 또는 256KB 메시지를 배치로 전송, 수신 또는 삭제할 수 있습니다. 배치 요금은 단일 메시지와 같습니다. 따라서 배치를 사용하면 SQS 비용을 좀 더 절약할 수 있습니다.
  • 긴 폴링 : 관계없는 폴링을 줄여 가능한 한 빨리 새 메시지를 받으면서 비용을 최소화합니다. 대기열이 비어 있는 경우 긴 폴링 요청은 다음 메시지가 도착할 때까지 최대 20초를 대기합니다. 긴 폴링 요청은 정기적인 요청과 비용이 같습니다.
  • 메시지를 최대 14일 동안 대기열에 유지합니다.
  • 메시지를 동시에 보내고 읽습니다.
  • 메시지 잠금 : 메시지가 수신되면 처리되는 동안 “잠금” 상태가 됩니다. 다른 컴퓨터에서 동시에 메시지를 처리하지 못하도록 하기 위함입니다. 메시지 처리에 실패하면 잠금이 해제되면서 메시지가 다시 처리 가능한 상태로 바뀝니다.
  • 대기열 공유 : 개발자는 Amazon SQS 대기열을 익명으로 또는 특정 AWS 계정과 안전하게 공유할 수 있습니다. IP 주소와 특정 시간으로 대기열 공유를 제한할 수도 있습니다.
  • 서버 측 암호화(SSE) : AWS Key Management Service(AWS KMS)에서 관리하는 키를 사용하여 Amazon SQS 대기열의 메시지 콘텐츠를 보호합니다. SSE는 Amazon SQS가 메시지를 수신하자마자 이를 암호화합니다. 메시지는 암호화된 형태로 저장되며 Amazon SQS 는 권한이 있는 사용자에게 전송할 때만 메시지를 복호화합니다.
  • 배달 못한 편지 대기열(DLQ) : 소비자가 성공적으로 처리하지 못한 메시지를 배달 못한 편지 대기열을 사용하여 처리합니다. 메시지에 대한 최대 수신 개수가 초과하면 해당 메시지는 원래 대기열에 연결된 배달 못한 편지 대기열(DLQ)로 이동됩니다. 메시지 전달이 중단된 이유를 분석하고 이해하는 데 도움이 될 수 있는 DLQ에 대해 별도의 소비자 프로세스를 설정하십시오. DLQ는 원본 대기열(표준 또는 FIFO)과 같은 유형이어야 합니다.

Tags: ,

Updated:

Leave a comment