일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 에이블스쿨
- 딥러닝
- 에트리 인턴
- KT AIVLE
- cnn
- 하계인턴
- 소셜네트워크분석
- dx
- SQL
- 프로그래머스
- ETRI
- Ai
- kt aivle school
- matplot
- 웹크롤링
- 에이블러
- Eda
- ML
- 시각화
- python
- 한국전자통신연구원
- kaggle
- 다변량분석
- KT 에이블스쿨
- r
- ggplot2
- 한국전자통신연구원 인턴
- 서평
- 가나다영
- httr
- 하둡
- 시계열
- 머신러닝
- 빅데이터분석기사
- arima
- 빅분기
- 지도학습
- SQLD
- hadoop
- 기계학습
- Today
- Total
소품집
[KT AIVLE] AWS 메세징 서비스 - SQS & SNS 본문
느슨한 결합 아키텍처에 대하여
동기식 처리
- 클라이언트에서 요청을 보냈을 때 서버가 처리 후, 응답을 받은 뒤에 다음 동작을 수행함
- 설계가 간단하고 직관적이지만 응답을 받기 전까진 대기 상태로 유지하는 단점이 있음
비동기식 처리
- 비동기 방식은 서버에 요청을 보내고 응답 여부와 상관 없이 클라이언트는 대기 없이 다음 동작을 수행함
- 설계가 동기식 처리보단 복잡하지만, 응답 여부와 상관 없이 다음 동작을 수행하기 때문에 자원을 효율적으로 사용할 수 있음
SQS (Simple Queue Service)란?
운영하는 서비스의 규모가 커질수록 요청하는 기능을 정확하게 처리하는게 중요해지고 있으며, 서버들끼리 주고받는 메세지를 SQS는 서버들끼리 주고받는 메세지 처리를 정확하게 수행해줌.
- 시스템이 처리해야할 To-Do List
- 어플리케이션 간 비동기 처리를 도움
- 서버들끼리 사용할 수 있는 메세지 큐를 제공하는 서비스
- 해야할 일을 나중에 처리 or 다른 시스템이 처리할 수 있도록 하기위한 비동기 메세징 서비스
- 따라서, 느슨하게 결합된 아키텍처 구현이 가능해짐
대기열 유형
저렴한 가격으로 대규모 트래픽의 빠른 처리를 위한 표준 대기열(Standard Queue)
- 표준 대기열은 Throughput을 극대화 하기 위해서 순서 보장을 하지 않음
- 대규모 메세지의 전송과 빠른 트랜잭션 처리가 필요한 상황에 적합함
(장점) 최소 1회 전달 보장(At-Least-Once-Delivery), 단 중복 수신이 될 수 있음
(단점) 메세지 순서 보장이 안되고, 반드시 한 번만 읽기가 보장되지 않음
작업 및 이벤트 순서가 중요하거나 중복이 허용되지 않는 경우를 위한 FIFO 대기열(First in First Out Quene)
- FIFO 대기열은 들어온 순서대로 처리 됨
(장점) 메세지 순서를 보장함 / 중복수신을 방지함
(단점) 순서를 위해 느린 성능
SQS 기능
SQS 활용 시 설정해야 하는 주요 기능에는 가시성 제한, 긴 폴링 등이 있음
가시성 제한
- 가시성 제한 시간이란 다른 소비자가 메세지를 수신하여 중복 처리하지 못하게 하기 위한 기간 설정을 의미
- 소비자가 대기열에서 메세지를 수신하고 처리하는 동안 메세지는 계속 대기열에 남아 있고, 처리 후 삭제해야함 (자동삭제X)
긴 폴링
- SQS 비용은 메세지 수와 메세지 사이즈에 의해 결정되지만 요청 비용도 추가로 발생
- 기본 설정인 짧은 폴링을 사용할 경우 메시지 큐가 비어 있는 경우에도 메시지를 반환함
- 긴 폴링을 사용하면 응답을 전송하기 전에 SQS가 대기열에서 메시지를 사용할 수 있을 때 까지 대기시켜 빈 응답을 줄이므로 SQS 사용 비용을 절감할 수 있음
비즈니스 활용 사례
- $500 이상의 모든 주문을 우선순위로 처리하기로 결정했으면, 새로운 "우선순위 주문" 대기열을 도입해 메시지가 "표준 주문" 대기열의 메세지보다 먼저 처리되도록 설계
- 웹 애플리케이션이나 처리 노드에는 주문이 전송되는 대상 대기열 외에 변경사항이 없으므로 주문 처리 방식이나 애플리케이션에 큰 영향을 주지않고 구현할 수 있음
Amazon SNS
- 구독중인 서비스 또는 사용자에게 메세지를 전달, 전송을 조정 및 관리하는 웹서비스로 알림 서비스임
- SNS 구독자는 승인을 해야 정보를 받아볼 수 있음
- 푸시 기반의 다대다 메세징을 위한 주제를 제공하여 게시자 시스템은 병렬처리를 위해 다양한 구독시스템 (Lambda, SQS) 등으로 메세지를 팬 아웃(Fan-Out)하는 방식
- SNS, 모바일 푸시 및 이메일을 통해 대규모로 사용자에게 메세지를 전송할 수 있음
참조
https://devocean.sk.com/blog/techBoardDetail.do?ID=163290
'AI > KT 에이블스쿨' 카테고리의 다른 글
[KT AIVLE] 에이블스쿨 미니프로젝트 4차 회고 + AICE 합격~! (0) | 2022.11.01 |
---|---|
[KT AIVLE] MS 아키텍처 - 가상머신과 컨테이너 비교 (0) | 2022.10.27 |
[KT AIVLE] AWS 모니터링, 인프라 자동화, 서버리스 실습 (0) | 2022.10.20 |
[KT AIVLE] AWS 글로벌 인프라 구조 (0) | 2022.10.19 |
[KT AIVLE] 인프라 기초 - 클라우드, 가상화 기술, 부하분산 (0) | 2022.10.15 |