--- id: SYS-ARCH-PAT-001 category: "10_Wiki/πŸ’‘ Topics/AI" confidence_score: 1.0 tags: [systems, architecture, software-engineering, design-patterns, microservices, layered-architecture, event-driven, scalability] last_reinforced: 2026-04-26 --- # Software Architecture Patterns (μ†Œν”„νŠΈμ›¨μ–΄ μ•„ν‚€ν…μ²˜ νŒ¨ν„΄) ## πŸ“Œ ν•œ 쀄 톡찰 (The Karpathy Summary) > "μ½”λ“œλ₯Ό μž‘μ„±ν•˜κΈ° 전에 지식과 κΈ°λŠ₯의 '지도(Map)'λ₯Ό λ¨Όμ € 그렀라. μ˜¬λ°”λ₯Έ νŒ¨ν„΄ 선택은 λ³΅μž‘μ„±μ΄λΌλŠ” νŒŒλ„ μ•žμ—μ„œ μ‹œμŠ€ν…œμ„ μ§€νƒ±ν•˜λŠ” κ°€μž₯ κ²¬κ³ ν•œ 닻이 λœλ‹€" β€” μ†Œν”„νŠΈμ›¨μ–΄ μ‹œμŠ€ν…œμ˜ ꡬ쑰적 문제λ₯Ό ν•΄κ²°ν•˜κΈ° μœ„ν•΄ 반볡적으둜 μ‚¬μš©λ˜λŠ” κ²€μ¦λœ 섀계 원칙과 골격. ## πŸ“– κ΅¬μ‘°ν™”λœ 지식 (Synthesized Content) - **μΆ”μΆœλœ νŒ¨ν„΄:** "Separation of Concerns and Structural Modularity" β€” μ‹œμŠ€ν…œμ˜ μ±…μž„μ„ λͺ…ν™•νžˆ λΆ„λ¦¬ν•˜μ—¬ λ³€κ²½μ˜ νŒŒκΈ‰ 효과λ₯Ό μ΅œμ†Œν™”ν•˜κ³ , νŠΉμ • μš”κ΅¬μ‚¬ν•­(ν™•μž₯μ„±, μ„±λŠ₯, 배포 속도 λ“±)에 μ΅œμ ν™”λœ μ»΄ν¬λ„ŒνŠΈ κ°„ 배치 방식을 κ²°μ •ν•˜λŠ” νŒ¨ν„΄. - **μ£Όμš” μ•„ν‚€ν…μ²˜ νŒ¨ν„΄:** - **Layered (N-tier):** 역할을 μˆ˜ν‰μœΌλ‘œ 뢄리 (UI-Business-Data). κ°€μž₯ λ²”μš©μ μ΄κ³  λ‹¨μˆœν•¨. - **Event-driven:** 비동기 이벀트λ₯Ό 톡해 톡신. 높은 ν™•μž₯μ„±κ³Ό μœ μ—°μ„± 제곡. - **Microservices:** λΉ„μ¦ˆλ‹ˆμŠ€ λ‹¨μœ„λ‘œ μ„œλΉ„μŠ€λ₯Ό μ™„μ „νžˆ μͺΌκ°œμ–΄ 독립적 배포와 ν™•μž₯이 κ°€λŠ₯ν•˜κ²Œ 함. - **Microkernel (Plugin):** 핡심 코어에 κΈ°λŠ₯을 μΆ”κ°€/μ œκ±°ν•  수 μžˆλŠ” ν”ŒλŸ¬κ·ΈμΈ ꡬ쑰. ν™•μž₯μ„± 우수. - **Hexagonal (Ports & Adapters):** 핡심 λ‘œμ§μ„ μ™ΈλΆ€ ν™˜κ²½(DB, UI λ“±)μœΌλ‘œλΆ€ν„° κ³ λ¦½μ‹œμΌœ ν…ŒμŠ€νŠΈ μš©μ΄μ„± κ·ΉλŒ€ν™”. - **의의:** κ°œλ°œνŒ€μ΄ λ™μΌν•œ 섀계 μ–Έμ–΄λ₯Ό κ³΅μœ ν•˜κ²Œ ν•˜λ©°, 초기 결정이 ν–₯ν›„ μ‹œμŠ€ν…œμ˜ 생쑴 여뢀와 λΉ„μš©μ— 결정적인 영ν–₯을 λ―ΈμΉ˜λŠ” 'μ†Œν”„νŠΈμ›¨μ–΄μ˜ λΌˆλŒ€' ꡬ좕 κ³Όμ •. ## ⚠️ λͺ¨μˆœ 및 μ—…λ°μ΄νŠΈ (Contradictions & RL Update) - **κ³Όκ±° λ°μ΄ν„°μ™€μ˜ 좩돌:** "무쑰건 λ§ˆμ΄ν¬λ‘œμ„œλΉ„μŠ€κ°€ μ΅œκ³ λ‹€"λΌλŠ” μœ ν–‰μ—μ„œ λ²—μ–΄λ‚˜, μ‹œμŠ€ν…œμ˜ 규λͺ¨μ™€ νŒ€μ˜ μ—­λŸ‰μ— 맞좰 λ‹¨μˆœν•œ λͺ¨λ†€λ¦¬μ‹(Monolithic)μ΄λ‚˜ λͺ¨λ“ˆν˜• λͺ¨λ†€λ¦¬μ‹(Modular Monolith)이 더 효율적일 수 μžˆλ‹€λŠ” μ‹€μš©μ£Όμ˜μ  접근이 λ‹€μ‹œ κ°•μ‘°λ˜κ³  있음. - **μ •μ±… λ³€ν™”:** Antigravity ν”„λ‘œμ νŠΈλŠ” 핡심 μ—μ΄μ „νŠΈ 엔진은 λ§ˆμ΄ν¬λ‘œμ»€λ„ νŒ¨ν„΄μœΌλ‘œ μ„€κ³„ν•˜μ—¬ κΈ°λŠ₯을 μœ μ—°ν•˜κ²Œ ν™•μž₯ν•˜κ³ , 전체 μ„œλΉ„μŠ€ λ°°ν¬λŠ” 독립성을 μœ„ν•΄ λ§ˆμ΄ν¬λ‘œμ„œλΉ„μŠ€ μ§€ν–₯적 νŒ¨ν„΄μ„ μ€€μˆ˜ν•¨. ## πŸ”— 지식 μ—°κ²° (Graph) - [[Service-oriented-Architecture]], Microservices-Foundations, [[Scalability-in-AI-Systems]], API-Design-Principles - **Raw Source:** 10_Wiki/Topics/AI/Software-Architecture-Patterns.md