AWS SNS란?
2022. 2. 7. 15:24ㆍETC
SNS란?
AWS Simple Notification Service 로서, Topic 기반의 메시지 브로커입니다.
SQS가 큐 기반의 메시지 브로커였다면, SNS는 게시자가 메시지를 토픽에 발행하고 구독자는 관심있는 토픽에 구독합니다.
구독한 토픽에 구독한 모든 구독자들은 메시지를 전달받아 처리할 수 있습니다.
상당 부분이 SQS와 비슷한 개념이기 때문에, 전에 작성했던 SQS 관련글을 먼저 보고 해당 글을 보시는 것을 추천합니다.
https://yoonbing9.tistory.com/126
AWS SQS 아키텍처 및 특징
SQS란? AWS의 Simple Queue Service 로, 말 그대로 큐 서비스입니다. 데이터를 큐에 넣는 어플리케이션과 큐에서 데이터를 빼서 사용하는 어플리케이션을 느슨하게 연결해주는 역할을 합니다. 이와 같은
yoonbing9.tistory.com
SNS 특징
- 하나의 토픽을 여러 주체가 구독합니다. (하나의 메시지를 여러 서비스에서 처리)
- 메시지는 SQS처럼 컨슈머가 Pull하는 방식이 아닌 SNS가 Push하는 방식입니다.
- 다양한 프로토콜로 메시지를 전달 할 수 있습니다. (예: 이메일, HTTP, SQS, SMS, Lambda)
- SQS는 메시지를 최대 14일 보관할 수 있지만 SNS는 메시지를 보관할 수 없습니다.
- 메시지를 보내는 동시에 메시지를 삭제하기 때문에 구독자가 없거나 문제가 있는 경우 메시지가 손실될 수 있습니다.(따라서 SQS와 같이 사용하는 방식으로 메시지 손실을 방어할 수 있습니다.)
- SNS도 SQS와 같이 표준 또는 FIFO 토픽을 선택할 수 있고, DLQ 지원, 메시지를 여러 서버에 저장하는 것 등 많은 부분이 공통으로 지원됩니다. 가장 큰 차이라고 하면 SQS는 큐 기반, SNS 토픽 기반의 메시지 브로커라고 생각하면 될 것 같습니다.
우아한 형제들도 MSA를 구축하면서 SNS, SQS를 사용하고 있네요!
'ETC' 카테고리의 다른 글
메시지 플랫폼 장애 에러 처리 비교 - SQS, RabbitMQ, Kafka (0) | 2022.02.15 |
---|---|
메시징 플랫폼 비교 - SQS, SNS, Kafka, RabbitMQ (2) | 2022.02.11 |
RabbitMQ란? (0) | 2022.02.09 |
Kafka(카프카)란? (0) | 2022.02.07 |
AWS SQS란? (0) | 2022.02.07 |