반응형
Message Queue
AWS SQS, AWS Kinesis
Queue?
https://www.codenary.co.kr/architecture/list?category=실시간 스트리밍
https://www.codenary.co.kr/architecture/list?category=Event Driven
https://www.codenary.co.kr/architecture/list?category=대용량 처리
- 비동기로 이벤트를 처리하기 위해 사용
AWS SQS
Amazon Simple Queue Service
- 마이크로서비스, 분산 시스템 및 서버리스 애플리케이션을 위한 완전관리형 메시지 대
기열 - 표준 대기열
- 무제한 처리량 / 최소한 한 번 전달 (여러번 전달 될 수도 있음) / 최선 노력 순서
- 보통 표준 대기열 보다는 키네시스를 많이 사용
- FIFO(First-In-First-Out) 대기열
- 초당 최대 300개의 메시지 / 정확히 한 번 처리 / 선입선출 전달
구조 (예시)
- Dead Letter Queue를 통해 실패한 작업을 따로 모아두고 나중에 사용할 수 있음
AWS Kinesis
- Amazon Kinesis는 모든 규모의 스트리밍 데이터를 비용 효율적으로 처리할 수 있는 핵심 기능과 더불어 애플리케이션 요구 사항에 가장 적합한 도구를 선택할 수 있는 유연성을 제공
- 예시
- 실시간으로 비디오 및 데이터 스트림을 손쉽게 수집, 처리 및 분석
- 모든 규모에서 쉽게 데이터 스트리밍
- 안정적으로 실시간 스트림을 데이터 레이크, 웨어하우스, 분석 서비스에 로드
- 스트리밍 데이터에서 실행 가능한 인사이트 확보
- 로그 수집
- 특이하게 Shard라는 것을 사용한다.
- 프로듀서가 생산한 하나의 메시지가 하나의 샤드를 통해서 컨슈머한테 전달한다.
- 샤드를 한개로 하면 순서가 보장된다.
- 샤드가 여러개면 그만큼 대역폭이 넓어지지만 순서가 보장되지 않을 수 있다.
- 보통 Log 시스템을 구성할때 많이 사용된다.
SQS vs Kinesis
Kinesis | SQS | |
---|---|---|
Record Size | 1MB | 256KB |
Independancy | Shard 레벨에서 나뉨 | 메세지 별로 independent |
Auto-scale | 수동 | 자동 |
Retention | 최대 7일 | 최대 14일 |
DLQ | 지원 X | 기본 지원 O |
잔류 | Queue 잔존 | 소모되면 Queue에서 삭제 |
반응형
'Devops' 카테고리의 다른 글
AWS 알아보기 6 - DynamoDB & Elasticache (0) | 2023.06.11 |
---|---|
AWS 알아보기 5 - AWS RDS & Aurora (0) | 2023.06.11 |
AWS 알아보기 3 - 컴퓨팅 파워 (Computing Power) (0) | 2023.06.11 |
AWS 알아보기 2 - AWS 인프라 (0) | 2023.06.11 |
AWS 알아보기 1 - AWS란? (0) | 2023.06.11 |