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 | 계산원이 주문지를 대기판에 붙이면, 바리스타가 하나씩 꺼내 처리 |
'AWS 자격증 > AWS Certified Cloud Practitioner' 카테고리의 다른 글
| AWS Certified Cloud Practitioner 모듈3 - AWS 글로벌 인프라 (0) | 2025.06.12 |
|---|---|
| AWS Certified Cloud Practitioner 모듈 2 - 추가 컴퓨팅 서비스 (0) | 2025.06.12 |
| AWS Certified Cloud Practitioner 모듈 2 - Elastic Load Balancing (0) | 2025.06.12 |
| AWS Certified Cloud Practitioner 모듈 2 - EC2 크기 조정 (0) | 2025.06.12 |
| AWS Certified Cloud Practitioner 모듈 2 - 요금 (0) | 2025.06.11 |