**마이크로서비스(microservice)**는 애플리케이션을 작고 독립적으로 배포 가능한 서비스들의 집합으로 구축하는 아키텍처 스타일입니다. 각 서비스는 하나의 비즈니스 기능을 담당하며 네트워크(HTTP, gRPC 또는 메시징)를 통해 통신합니다.
동작 방식
각 서비스는 자체 프로세스에서 실행되고 자체 데이터 저장소를 가지며, 독립적으로 개발, 배포, 확장될 수 있습니다. 팀은 서비스를 처음부터 끝까지 소유합니다.
text
┌──────────────┐
Client ─▶ │ API Gateway │
└──────┬───────┘
┌───────────┼───────────┐
▼ ▼ ▼
┌────────┐ ┌─────────┐ ┌──────────┐
│ Orders │ │ Payments│ │ Shipping │ ← 각각: 자체 코드 + DB
└───┬────┘ └────┬────┘ └────┬─────┘
▼ ▼ ▼
ordersDB paymentsDB shippingDB
