Files
2nd/10_Wiki/Topics_Blog/Large-scale-Application-Architecture-Patterns.md
T

2.7 KiB

id, category, confidence_score, tags, last_reinforced
id category confidence_score tags last_reinforced
FE-ARCH-LARGE-001 10_Wiki/💡 Topics/AI 1.0
architecture
large-scale
frontend
monorepo
fsd
scalability
maintainability
modularity
2026-04-26

Large-scale Application Architecture Patterns (대규모 애플리케이션 아키텍처 패턴)

📌 한 줄 통찰 (The Karpathy Summary)

"코드의 양이 늘어나도 복잡도의 엔트로피가 발산하지 않도록 엄격한 계층 구조(FSD)와 통합 관리 체계(Monorepo)를 구축하고, 의존성의 방향을 단방향으로 강제하여 시스템의 수명을 연장하라" — 수천 명의 개발자가 동시에 협업할 수 있는 프런트엔드 설계의 최상위 전략.

📖 구조화된 지식 (Synthesized Content)

  • 추출된 패턴: "Hierarchical Decoupling and Unified Governance" — 애플리케이션을 책임 범위에 따라 수직적으로 계층화하고, 물리적으로는 모노레포를 통해 자산을 공유하여 응집도는 높이고 결합도는 낮추는 패턴.
  • 핵심 아키텍처 요소:
    • Feature-Sliced Design (FSD): SharedEntitiesFeaturesWidgetsPagesApp 순으로 의존성을 제한하는 계층적 설계.
    • Monorepo Strategy: pnpm workspacesTurborepo를 활용하여 다수의 서비스와 공용 라이브러리를 하나의 코드베이스에서 효율적으로 관리.
    • Micro-frontends: 거대한 앱을 독립적으로 배포 가능한 단위로 쪼개어 팀 간의 간섭 최소화 (Module Federation 등).
    • Design Token System: 스타일 속성을 변수화하여 전체 프로젝트의 일관성을 중앙 제어.
  • 의의: 프로젝트 규모가 커짐에 따라 발생하는 스파게티 코드와 의존성 지옥을 방지하고, 지속 가능한 개발 속도를 유지함.

⚠️ 모순 및 업데이트 (Contradictions & RL Update)

  • 과거 데이터와의 충돌: 과거에는 무조건적인 코드 분리(Micro-services)가 정답인 것처럼 여겨졌으나, 현대 정책은 과도한 분절이 초래하는 복잡도를 경계하며 '모듈식 모놀리스(Modular Monolith)'나 '고성능 모노레포 정책'을 선호함.
  • 정책 변화: Antigravity 프로젝트는 모든 엔터프라이즈급 제품 개발 시 FSD(Feature-Sliced Design) 아키텍처 준수를 의무화하며, 의존성 규칙 위반 시 빌드 단계에서 차단하는 'Architecture Linting' 정책을 시행함.

🔗 지식 연결 (Graph)