java
CHAPTER 90 / 99
읽기 약 2분
FUNCTION
모놀리스 vs 마이크로서비스
핵심 개념
아키텍처 비교·MSA 적합 시점·도메인 경계 분해 — 이커머스 주문/상품/결제 분리.
본문
모놀리스 vs MSA 비교
| 측면 | 모놀리스 | MSA |
|---|---|---|
| 배포 | 단일 빌드·단일 배포 | 서비스별 독립 배포 |
| 스케일 | 전체 스케일 | 서비스별 스케일 |
| DB | 단일 DB | 서비스별 DB |
| 통신 | 메서드 호출 | HTTP/gRPC/메시지 |
| 트랜잭션 | ACID | 분산 트랜잭션·SAGA |
| 복잡도 | 낮음 | 높음 |
| 적합 단계 | 초기·소규모 | 100+ 개발자 |
MSA 분해 기준
도메인 경계 (Bounded Context):
- 이커머스 → 사용자·상품·주문·결제·배송·알림
분해 방법:
1. 데이터 응집도 — 같은 데이터 사용 = 같은 서비스
2. 변경 빈도 — 자주 바뀌는 것 분리
3. 팀 경계 — 팀별 독립 운영
4. 비기능 요구사항 — 결제는 보안 강화, 추천은 ML 인프라분해 예시 — 이커머스
모놀리스 OrderApplication (단일 DB)
↓ 분해
- UserService (PostgreSQL)
- ProductService (PostgreSQL + Elasticsearch)
- OrderService (PostgreSQL)
- PaymentService (PostgreSQL + 보안 강화)
- ShippingService (PostgreSQL + Redis)
- NotificationService (PostgreSQL + Kafka)API 통신 — REST
@FeignClient(name = "product-service", url = "${product.service.url}")
public interface ProductClient {
@GetMapping("/products/{id}")
ProductDto getProduct(@PathVariable Long id);
}
@Service
@RequiredArgsConstructor
public class OrderService {
private final ProductClient productClient;
public Order placeOrder(OrderRequest req) {
ProductDto product = productClient.getProduct(req.productId());
if (product.stock() < req.quantity()) {
throw new InsufficientStockException();
}
// ... 주문 생성
}
}분산 시스템 함정 — Fallacies
1. 네트워크는 신뢰할 수 있다 ❌
2. 지연은 0이다 ❌
3. 대역폭은 무한하다 ❌
4. 네트워크는 안전하다 ❌
5. 토폴로지는 변하지 않는다 ❌
6. 관리자가 한 명이다 ❌
7. 전송 비용은 0이다 ❌
8. 네트워크는 동질적이다 ❌
→ 모든 가정이 깨지는 환경 — 회복 탄력성·관측 필수마이크로서비스 도입 시점
✅ 도입 적합:
- 100+ 개발자, 여러 팀
- 서비스별 다른 배포 주기
- 일부 서비스만 고가용성 필요
- 다양한 기술 스택 활용
❌ 도입 부적합:
- 1~10인 팀
- 트래픽 적음 (10만 RPS 이하)
- 도메인 경계 불명확
- 운영 인프라 부재다음 챕터
CH.22 "Spring Cloud Gateway" — API 게이트웨이.
AI 프롬프트
🤖 AI에게 잘 물어보는 법 — 모델·전략별 프롬프트
Claude
무료: Sonnet 4.6 / Pro $20/mo: Opus 4.6
내 Spring 코드의 MSA 아키텍처 부분을 분석해서 분해 적합성와 개선 우선순위를 알려줘.
ChatGPT
무료: GPT-5.5 / Plus $20/mo: GPT-5.5 Pro
MSA 아키텍처 vs 다른 패턴 비교를 실전 사례 5개로 보여주고 모놀리스 vs MSA를 알려줘.
Gemini
무료: 2.5 Flash / Pro $19.99/mo: 3.1 Pro
내 코드베이스 전체를 분석해서 MSA 아키텍처 관련 잘못된 경계 분해를 보고해줘.
Grok
무료: Grok 4.1 / SuperGrok $30/mo
2026년 한국 기업의 MSA 아키텍처 채택률과 한국 기업 MSA 도입 트렌드를 솔직히 알려줘.
⭐ 이것만 기억하세요
모놀리스 vs 마이크로서비스는 이 3가지만 확실히 잡으세요
1.MSA는 100명+ 팀 + 서비스별 독립 배포 + 다양한 SLA가 필요할 때 적합
2.도메인 경계 분해 + 데이터 응집도 + 변경 빈도 = MSA 분해의 3대 기준
3.다음 챕터 CH.22에서 API Gateway — MSA의 단일 진입점
공유하기
진행도 90 / 99