Files
2nd/10_Wiki/Topics/Microservices-Architecture.md
T

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
infrastructure
microservices
msa
cloud-native
distributed-systems
scalability
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)