2.5 KiB
2.5 KiB
id, category, confidence_score, tags, last_reinforced
| id | category | confidence_score | tags | last_reinforced | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| SYS-MSA-001 | 10_Wiki/💡 Topics/AI | 1.0 |
|
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