dev.Log

SQS & SNS 본문

AWS

SQS & SNS

초코푸딩 2022. 8. 27. 16:06

- 동기 커뮤니케이션 : application to application

- 비동기 or 이벤트 기반 커뮤니케이션 : 대기열등으로 불리는 미들웨어가 어플리케이션을 연결

 

분리 계층을 확장

 

대기열 모델에는 SQS (queue model) 

발행 / 구독 모델에는 SNS (pub / sub)

실시간 스트리밍을 하고 대용량 데이터를 다룬다면 Kinesis 


SQS 대기열에는 메시지를 포함한다. 

SQS 대기열에 메시지를 보내는 주체를 생산자라고 한다. 

여러 생산자가 여러개의 메시지를 SQS 대기열에 보낼 수 있다. 

대기열에서 메시지를 처리하고 수신해야 하는 대상을 소비자라고 부른다. 대기열에서 메시지를 폴링함..

무제한 처리량!

메시지는 기본값으로 4일동안 남아있고 최대 14일까지 남아있을 수 있다. 

메시지 크기는 256KB 미만

 

소비자가 ASG 내부에서 EC2 인스턴스를 실행하고 SQS 대기열에서 메시지를 폴링할 것이다. 

큐의 길이(SQS 대기열에서 사용하는 CloudWatch 지표) 가 특정 수준을 넘어가면 CloudWatch Alarm이 반응하여 오토스케일링 그룹의 용량을 증가시킨다. 

 

소비자가 메시지를 폴링하면 다른 소비자들은 안보임...

가시성 시간 초과는 30초이다. 30초안에 처리되어야한다는 이야기.. 

 


SNS : 생산자는 한 SNS 주제에만 메시지를 보낸다. 

SNS 주제를 여러 SQS 대기열에 메시지를 전송하도록 허용하면 FanOut 구성이 가능..

메시지 필터링 : SNS 주제 구독자들에게 전송할 메시지를 필터링하는 JSON 정책이다. 

구독에 필터링 정책이 없으면 기본적으로 모든 메시지를 수신하게 된다. 

 

* SQS FIFO Queues에 대해 메시지 그룹만큼 소비자 수를 설정할 수 있다. 


Kinesis : 스트리밍 데이터를 실시간으로 수집,처리,분석하도록 도와준다. 

- Kinesis Data Stream : 데이터 스트림을 입력, 처리하고 저장한다. 번호가 매겨진 여러개의 샤드로 구성됨. 모든 샤드에 걸쳐 데이터가 분할되고, 샤드가 수집 및 소비율에 맞춰 스트림 용량을 정의한다. 

- Kinesis Data Firehose : 데이터 스트림을 AWS 내부 또는 외부의 데이터 스토어로 로드한다. 

- Kinesis Data Analytics : SQL 언어 또는 Apache Flink를 통해 데이터 스트림을 분석한다.

- Kinesis Video Stream : 비디오 스트림을 입력, 처리, 저장한다. 

 

* Kinesis Client Library 를 사용할 때 각 샤드는 하나의 KCL 인스턴스에서 읽기 전용이여야한다. 따라서 10개의 샤드가 있는 경우 가질 수 있는 최대 KCL 인스턴스는 10개이다. 

 


Amazon SNS눈 HTTP(S), SQS ,  Lambda, 모바일푸시, 이메일 또는 SMS 엔드포인트에 메시지를 게시할수 있다. (Amazon Kinesis는 아님!!!!)

'AWS' 카테고리의 다른 글

AWS SAA-C02 연습문제  (0) 2022.08.27
AWS SAA-C02 연습문제  (2) 2022.08.27
AWS SAA-C02 연습문제  (0) 2022.08.27
AWS SAA-CO2 연습문제  (0) 2022.08.25
AWS SAA-C02 연습문제  (0) 2022.08.25
Comments