Amazon SNS vs Amazon SQS

Joongs·2023년 12월 23일

aws

목록 보기
1/2
post-thumbnail

Amazon SNS (Simple Notification Service)와 Amazon SQS (Simple Queue Service)는 모두 AWS에서 제공되는 메시지 송수신 서비스이지만 목적과 기능에서 차이가 있습니다.

Amazon SNS (Simple Notification Service)

  • Publisher-Subscriber 모델
    - SNS는 Publisher-Subscriber 모델을 따릅니다.
    • 메시지를 발행하는 애플리케이션(출판자)이 있고, 이를 구독하는 다수의 애플리케이션(구독자)이 있습니다.
  • Push 방식
    - SNS는 Push 방식을 사용하여 메시지를 전송합니다. 메시지가 발행되면 해당 메시지는 즉시 구독자에게 전달됩니다.
  • 다양한 종류의 엔드포인트
    - SNS는 다양한 엔드포인트로 메시지를 전송할 수 있습니다.
    • 이메일, SMS, HTTP/HTTPS 엔드포인트, AWS Lambda 함수 등을 지원합니다.
  • 토픽 (Topic)
    - 메시지의 주제를 나타내는 토픽을 정의하고, 여러 구독자가 해당 토픽을 구독하여 메시지를 받을 수 있습니다.

Amazon SQS (Simple Queue Service)

  • 큐 기반 모델
    - SQS는 큐 기반 모델을 사용합니다.
    • 메시지를 발행하는 애플리케이션이 있고, 이를 처리하는 다수의 애플리케이션이 큐에 등록됩니다.
  • Pull 방식
    - SQS는 Pull 방식을 사용하여 메시지를 가져옵니다.
    • 메시지를 수신하려면 애플리케이션이 명시적으로 SQS에서 메시지를 가져와야 합니다.
  • 지연 큐 (Delay Queue)
    - SQS는 메시지 전달을 지연시킬 수 있는 지연 큐를 제공합니다.
    • 이를 통해 메시지를 특정 시간 동안 큐에 보관할 수 있습니다.
  • Point-to-Point 통신:
    - 메시지의 발행과 수신이 1:1로 진행되며, 여러 컨슈머가 동일한 메시지를 처리할 수 있습니다.

차이점 요약

  • 목적
    - SNS는 다양한 엔드포인트로 메시지를 푸시하는 데 중점을 둡니다.
    - SQS는 메시지 큐를 통해 메시지를 풀 방식으로 처리하는 데 중점을 둡니다.

  • 전달 방식
    - SNS는 Push 방식으로 동작하며 메시지를 바로 전달합니다.
    - SQS는 Pull 방식으로 동작하며 애플리케이션이 메시지를 명시적으로 가져와야 합니다.

  • 메시지 유지
    - SNS는 메시지 전송 후에는 해당 메시지를 보관하지 않습니다.
    - SQS는 메시지 전송 후에도 메시지를 보관하고, 지연 큐를 통해 메시지 전송을 지연시킬 수 있습니다.

이러한 차이로 인해 두 서비스는 각각 다른 시나리오 및 요구사항에 적합하게 사용됩니다.

profile
yoonxjoong

0개의 댓글