본문 바로가기

AWS 자격증/AWS Certified Cloud Practitioner

AWS Certified Cloud Practitioner 모듈 2 - 메시징 및 대기열

1. 모놀리식 애플리케이션이란?

하나의 거대한 코드 덩어리 안에 모든 기능(데이터베이스, UI, 비즈니스 로직 등)이 서로 밀접하게 연결되어 있는 구조

  • 한 부분이 에러 나면 전체 애플리케이션이 영향을 받는다.
  • 유지보수나 확장성이 떨어짐

2. 마이크로서비스 아키텍처란?

기능별로 작은 서비스들로 나누어져 있는 구조이다. 각 서비스는 독립적으로 배포되고 실행된다.

  • 한 서비스에 문제가 생겨도 다른 서비스는 정상 작동 가능
  • AWS에서는 여러 개의 독립 서비스(S3, Lambda, SNS 등)로 나눠서 구성 가능

3. Amazon SNS (Simple Notification Service)

게시자 → 주제(topic) → 구독자 구조의 알림 시스템

  • 게시자는 SNS 주제에 메시지를 보냄
  • 구독자는 원하는 주제를 선택해 메시지를 받음
  • 각 구독자는 이메일, Lambda, SQS 등 다양한 형태로 연결 가능

비유

  • 커피숍에서 한 명이 모든 뉴스(쿠폰, 신제품, 커피 정보)를 모아 뉴스레터를 발송
  • 고객은 자신이 원하는 뉴스레터만 선택 구독 가능

4. Amazon SQS (Simple Queue Service)

애플리케이션 구성 요소 간에 비동기적으로 메시지를 주고받을 수 있는 대기열 시스템

  • A 시스템이 메시지를 대기열에 넣고
  • B 시스템이 처리할 준비가 되면 메시지를 꺼내서 처리함

비유

  • 계산원이 주문을 대기열에 넣고
  • 바리스타가 준비되었을 때 하나씩 꺼내 처리함
  • 서로 즉시 반응하지 않아도 되므로 지연 없이 효율적

모놀리식 vs 마이크로서비스

구분 모놀리식 마이크로서비스
구조 하나의 큰 프로그램 여러 개의 독립 서비스
결합도 밀결합 (tight coupling) 소결합 (loose coupling)
문제 발생 시 영향 전체 장애 가능성 다른 서비스는 정상 작동
예시 하나의 덩어리 앱 SNS, SQS, Lambda 등 분리된 구성

 

Amazon SNS (게시/구독 모델)

항목  내용
방식 게시자 → 주제(topic) → 여러 구독자
특징 동시 전달, 실시간 전파, 다양한 구독 대상 지원 (Lambda, SQS, Email 등)
예시 뉴스레터 발송 시스템, 알림 브로드캐스트

 

Amazon SQS (메시지 대기열 모델)

항목 내용
방식 비동기 대기열: 메시지를 먼저 저장하고 필요할 때 처리
특징 구성 요소 간 버퍼 역할, 서비스 간 느슨한 연결 유지
예시 주문 처리, 결제 큐, 비동기 이벤트 처리

 

커피숍 비유 요약

개념 비유
모놀리식 계산대, 음료 제조, 결제 전부 하나로 묶인 시스템
마이크로서비스 계산대, 제조, 결제를 각각 독립 구성
SNS 점주가 고객들에게 여러 주제로 나눠 뉴스 전달
SQS 계산원이 주문지를 대기판에 붙이면, 바리스타가 하나씩 꺼내 처리