Search
Duplicate
📒

[AWS - SAA] 11-1. 디커플링 애플리케이션 SQS, SNS

상태
완료
수업
AWS - Solutions Architect
주제
AWS-Network
연관 노트
3 more properties
참고

SQS(Simple Queue Service)란?

NOTE
마이크로 서비스, 분산 시스템 및 서버리스 애플리케이션을 쉽게 분리하고 확장할 수 있도록 지원하는 완전관리형 메시지 대기열 서비스
여러대의 서버끼리 통신하는데 도움을 주는 메세지 큐 서비스!
Consumer가 메세지를 Poll하고 처리한뒤 삭제한다.
분산 시스템 및 서버리스 애플리케이션을 위한 완전 관리형 메시지 대기열
메세지를 보내는 주체를 Producer(생산자), 메세지를 수신하는 대상을 Consumer(소비자)
생산자에 의해 메세지 작성 ⇒ 소비자가 메세지 읽고 삭제할 떄까지 SQS 대기열 유지
소비자가 SQS 메세지 폴링하여 메세지 확인하고 수행한 후 삭제

SQS 특징

메세지는 256kb 까지!
무제한 처리량
처리량에 제한이 없고 대기열에 있는 메세지 수에도 제한이 없다!
메세지의 수명이 존재한다
기본값 4일, 최수 1분 ~ 14일까지 보존이 가능하다
지연시간이 짧다
전송 메세지당 256kb 미만이어야 한다.

SQS 보안

암호화 방식
HTTPS API
KMS
클라이언트 측 암호화
IAM 정책
SQS API에 대한 액세스를 규제
SQS 액세스 정책 (S3 버킷 정책과 유사)

보기 제한 시간 (Visibility Timeout)

NOTE
메시지를 받은 뒤 특정시간 동안 다른곳에서 동일한 메시지를 다시 꺼내볼 수 없게 하는 기능이다!
보기 제한 시간은 하나의 서버에서 메세지를 받으면 다른 서버에서 일정시간 동안 못받음!
기본 표시 제한 시간은 30초, 최소 0초 ~ 최대 12시간
ChangeMessageVisibility API 호출을 사용하여 가시성 제한 시간을 늘립니다.

긴 폴링 (Long Polling)

NOTE
Consumer가 대기열에 메세지를 요청하는데 대기열에 아무것도 없으면 도착할 때까지 대기하는 작업!
지연 시간을 줄이고 SQS로 보내는 API 호출 숫자를 줄이기 위해 사용한다.
1~20초 사이로 구성 가능
메세지가 없을 때 바로 나오는 짧은 폴링보다 긴 폴링이 선호된다.
큐 또는 API 레벨에서 WaitTimeSeconds를 사용하여 활성화할 수 있다.

FIFO Queue

NOTE
FIFO = First in First Out (선입선출)을 보장하는 SQS
메세지를 보낸 순서대로 받을 수 있게 해준다. (순서를 확실히 보장)
중복 제거 가능
초당 300개의 메세지를 처리하고, 메세지를 묶음으로 보낼 시 초당 3,000개 처리

Amazon SNS

NOTE
구독 중인 서비스나 사용자에게 메세지 전달 및 전송을 해주는 서비스!
SNS를 이용해 다양한곳으로 알람을 보낼 수 있음!
pub/sub 구조 (게시자와 구독자)에서 사용되는 메세지 전송 관리형 서비스
구독 중인 엔드포인트 혹은 사용자에게 메세지를 보낸다.
주제 별 최대 1200만 이상의 구독자 가능
표준 유형과 FIFO 유형이 있다.

실습 이미지

이미지

Amazon Kinesis

NOTE
구독 중인 서비스나 사용자에게 메세지 전달 및 전송을 해주는 서비스!
pub/sub 구조 (게시자와 구독자)에서 사용되는 메세지 전송 관리형 서비스
구독 중인 엔드포인트 혹은 사용자에게 메세지를 보낸다.
주제 별 최대 1200만 이상의 구독자 가능
표준 유형과 FIFO 유형이 있다.

실습 이미지

이미지