Amazon Simple Queue Service란 무엇인가요? - Amazon Simple Queue Service

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Amazon Simple Queue Service란 무엇인가요?

Amazon Simple Queue Service(Amazon SQS)는 분산 소프트웨어 시스템 및 구성 요소를 통합하고 분리할 수 있는 안전하고 내구성이 뛰어나며 사용 가능한 호스팅 대기열을 제공합니다. AmazonSQS은 배달 못한 편지 대기열비용 할당 태그와 같은 일반적인 구문을 제공합니다. 에서 지원하는 프로그래밍 언어를 사용하여 액세스할 API 수 있는 AWS SDK 일반 웹 서비스를 제공합니다.

Amazon 사용의 이점 SQS

  • 보안 - Amazon SQS 대기열에서 메시지를 보내고 받을 수 있는 사용자를 제어합니다. 기본 Amazon SQS 관리형 서버 측 암호화(SSE)를 사용하거나 AWS Key Management Service ()에서 관리되는 사용자 지정 SSE 키를 사용하여 대기열의 메시지 내용을 보호하여 민감한 데이터를 전송하도록 선택할 수 있습니다AWS KMS.

  • 내구성 - 메시지의 안전을 위해 Amazon은 메시지를 여러 서버에 SQS 저장합니다. 표준 대기열은 at-least-once 메시지 전송을 지원하고 대기열FIFO은 정확히 한 번 메시지 처리높은 처리량 모드를 지원합니다.

  • 가용성 - Amazon은 중복 인프라를 SQS 사용하여 메시지에 대한 고동시 액세스와 메시지 생성 및 소비를 위한 고가용성을 제공합니다.

  • 확장성 - Amazon은 버퍼링된 각 요청을 독립적으로 처리할 SQS 수 있으며, 프로비저닝 지침 없이 로드 증가 또는 스파이크를 처리하기 위해 투명하게 확장할 수 있습니다.

  • 신뢰성 - Amazon은 처리 중에 메시지를 SQS 잠그므로 여러 생산자가 메시지를 동시에 보낼 수 있고 여러 소비자가 메시지를 받을 수 있습니다.

  • 사용자 지정 – 대기열이 똑같을 필요는 없습니다. 예를 들어 대기열에서 기본 지연 시간을 설정할 수 있습니다. Amazon Simple Storage Service(Amazon S3) 또는 Amazon DynamoDB를 사용하여 256KB보다 큰 메시지의 내용을 저장할 수 있습니다. 이때 Amazon은 Amazon S3 객체에 대한 포인터를 SQS 잡거나 큰 메시지를 더 작은 메시지로 분할할 수 있습니다. DynamoDB

기본 Amazon SQS 아키텍처

이 단원에서는 분산 메시징 시스템의 부분을 간략하게 설명하고 Amazon SQS 메시지의 수명 주기를 설명합니다.

분산 대기열

분산 메시징 시스템에는 분산 시스템의 구성 요소, 대기열(Amazon SQS 서버에 배포됨) 및 대기열의 메시지라는 세 가지 주요 부분이 있습니다.

다음 시나리오에서 시스템에는 여러 생산자(메시지를 대기열로 전송하는 구성 요소) 및 소비자(대기열의 메시지를 수신하는 구성 요소)가 있습니다. 대기열(메시지 A~E를 보유)은 여러 Amazon SQS 서버에 메시지를 중복 저장합니다.

분산 메시징 시스템의 세 가지 주요 부분, 즉 분산 시스템의 구성 요소, 대기열(Amazon SQS 서버에 분산됨) 및 대기열의 메시지입니다.

메시지 수명 주기

다음 시나리오에서는 생성에서 삭제에 이르기까지 대기열에 있는 Amazon SQS 메시지의 수명 주기를 설명합니다.

생성에서 삭제에 이르기까지 대기열에 있는 Amazon SQS 메시지의 수명 주기입니다.

Section one description for the previous lifecycle diagram. 생산자(구성 요소 1)는 메시지 A를 대기열로 전송하고, 메시지는 Amazon SQS 서버에 중복으로 분산됩니다.

Section two description for the previous lifecycle diagram. 소비자(구성 요소 2)는 메시지를 처리할 준비가 되면 대기열에서 메시지를 소비하고 메시지 A가 반환됩니다. 메시지 A는 처리되는 동안 대기열에 그대로 남아 있고 제한 시간 초과가 지속되는 동안 후속 수신 요청으로 반환되지 않습니다.

Section three description for the previous lifecycle diagram. 소비자(구성 요소 2)는 대기열에서 메시지 A를 삭제하여 제한 시간 초과가 만료되면 이 메시지가 수신되어 다시 처리되지 못하도록 합니다.

참고

Amazon은 최대 메시지 보존 기간보다 오래 대기열에 있었던 메시지를 SQS 자동으로 삭제합니다. 기본 메시지 보존 기간은 4일입니다. 그러나 SetQueueAttributes 작업을 사용하면 메시지 보존 기간을 60초에서 1,209,600초(14일) 사이로 설정할 수 있습니다.

Amazon SQS, Amazon MQ 및 Amazon의 차이점 SNS

Amazon SQS, Amazon SNS, Amazon MQ는 확장성과 easy-to-use 관리성이 뛰어난 메시징 서비스를 제공하며, 각 서비스는 분산 시스템 내의 특정 역할에 맞게 설계되었습니다. 다음은 이러한 서비스 간의 차이점에 대한 확장된 개요입니다.

AmazonSQS은 분산 소프트웨어 시스템 및 구성 요소를 대기열 서비스로 분리 및 확장합니다. 일반적으로 단일 구독자를 통해 메시지를 처리하므로 순서 및 손실 방지가 중요한 워크플로에 적합합니다. 더 광범위한 배포를 위해 AmazonSQS과 Amazon을 통합하면 팬아웃 메시징 패턴이 SNS 활성화되어 한 번에 여러 구독자에게 메시지를 효과적으로 푸시할 수 있습니다.

AmazonSNS은 게시자가 커뮤니케이션 채널 역할을 하는 주제를 통해 여러 구독자에게 메시지를 보낼 수 있도록 허용합니다. 구독자는 , Amazon SQS, Lambda, Amazon Data Firehose, HTTP이메일, 모바일 푸시 알림 및 모바일 문자 메시지()와 같은 지원되는 엔드포인트 유형을 사용하여 게시된 메시지를 수신합니다SMS. 이 서비스는 실시간 사용자 참여 또는 경보 시스템과 같이 즉각적인 알림이 필요한 시나리오에 적합합니다. 구독자가 오프라인 상태일 때 메시지 손실을 방지하기 위해 Amazon을 Amazon SQS 대기열 메시지SNS와 통합하면 일관된 전송이 보장됩니다.

Amazon MQApache ActiveMQ 및 RabbitMQ와 MQTT함께 AMQP 및와 같은 표준 메시징 프로토콜을 지원하여 기존 메시지 브로커에서 마이그레이션하려는 기업에 가장 적합합니다. RabbitMQ 중요한 재구성 없이 안정적이고 신뢰할 수 있는 메시징이 필요한 레거시 시스템과 호환됩니다.

다음 차트는 각 서비스의 리소스 유형에 대한 개요를 제공합니다.

리소스 유형 Amazon SNS Amazon SQS Amazon MQ
동기식 No 아니요
비동기식
대기열 No
게시자-구독자 메시징 아니요
메시지 브로커 No 아니요

AmazonSQS과 Amazon SNS 모두 거의 무제한에 가까운 확장성과 간단한의 이점을 누릴 수 있는 새로운 애플리케이션에 권장됩니다APIs. 일반적으로 가격이 책정 pay-as-you-go된 대용량 애플리케이션을 위한 보다 비용 효율적인 솔루션을 제공합니다. 고급 메시지 대기열 프로토콜(AMQP), MQTT OpenWire, 및 Simple Text Oriented Message Protocol()APIs과 같은 JMS 또는 프로토콜과의 호환성에 의존하는 기존 메시지 브로커에서 애플리케이션을 마이그레이션하려면 Amazon MQ를 사용하는 것이 좋습니다STOMP.