---
id: SYS-MSA-001
category: "[[10_Wiki/💡 Topics/AI]]"
confidence_score: 1.0
tags: [infrastructure, microservices, msa, cloud-native, distributed-systems, scalability]
last_reinforced: 2026-04-26
---

# [[Microservices Architecture (마이크로서비스 아키텍처)]]

## 📌 한 줄 통찰 (The Karpathy Summary)
> "거대한 단일체를 쪼개어 독립적인 생명체들의 연합군으로 만들고, 각자가 가장 잘하는 일에 집중하게 하라" — 애플리케이션을 비즈니스 기능 단위의 작고 독립적인 서비스들로 분리하여 구축하고, 가벼운 통신 프로토콜(주로 REST/gRPC)을 통해 상호작용하게 하는 설계 방식.

## 📖 구조화된 지식 (Synthesized Content)
- **추출된 패턴:** "Decomposition and Autonomy" — 시스템을 작게 나누어 각 서비스가 자체 데이터베이스를 가지고 독립적으로 배포 및 확장(Scaling)될 수 있게 함으로써, 특정 기능의 장애가 시스템 전체로 확산(Cascading Failure)되는 것을 막는 방어적 연합 패턴.
- **핵심 요소:**
    - **API Gateway:** 클라이언트 요청을 적절한 서비스로 라우팅하고 통합 관리.
    - **Service Discovery:** 동적으로 변화하는 서비스들의 위치를 자동으로 파악.
    - **Database per Service:** 서비스 간 데이터 간섭을 최소화하여 독립적 진화 보장.
    - **Event-driven Communication:** 메시지 큐를 통한 비동기 결합으로 성능과 유연성 확보.
- **의의:** 대규모 조직에서 팀별 개발 속도를 극대화하고, 기술 스택의 다양성을 수용하며, 클라우드 환경의 탄력성을 100% 활용 가능케 함.

## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
- **과거 데이터와의 충돌:** 마이크로서비스가 만능이라는 맹신에서 벗어나, 서비스 간 통신 복잡성과 데이터 일관성 유지 비용(Distributed Transaction) 등 '분산 시스템의 세금'을 신중히 고려해야 한다는 현실적 관점이 정립됨.
- **정책 변화:** Antigravity 프로젝트의 백엔드는 에이전트 브레인, 지식 인덱서, 데이터 수집기 등이 마이크로서비스 형태로 분리되어 있어, 특정 모듈의 부하 증가 시 해당 부분만 즉각 확장할 수 있는 구조를 유지함.

## 🔗 지식 연결 (Graph)
- [[Message-Queues-and-Event-Streams]], [[System-Design-for-AI-Scale]], [[High-Availability-Systems]], [[Kubernetes-for-AI-Orchestration]]
- **Raw Source:** [[10_Wiki/Topics/AI/Microservices-Architecture.md]]
