dev.Log
SQS & SNS 본문
- 동기 커뮤니케이션 : 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 |