Files
2nd/_tools/sample_normalized/Event-Driven-Architecture.normalized.md
T

90 lines
3.2 KiB
Markdown

---
id: wiki-2026-0508-event-driven-architecture
title: Event Driven Architecture
category: 10_Wiki/Topics
status: needs_review
canonical_id: self
aliases: [P-Reinforce-AI-EVENT-DRIVEN]
duplicate_of: none
source_trust_level: A
confidence_score: 0.97
tags: [Architecture, EventDriven, Async, PubSub]
raw_sources: []
last_reinforced: 2026-04-20
github_commit: pending
inferred_by: Claude Opus 4.7 (auto-normalize 2026-05-08)
tech_stack:
language: unspecified
framework: unspecified
---
# [[Event-Driven-Architecture]] (이벤트 주도 아키텍처)
## 📌 한 줄 통찰 (The Karpathy Summary)
> "말 걸지 마, 그냥 공지사항을 확인해." 상태 변화(이벤트)를 발행하고 구독하는 방식으로 시스템을 구성하여, 서비스 간의 직접적인 호출을 없애고 유연한 확장을 가능하게 하는 설계다.
## 📖 구조화된 지식 (Synthesized Content)
- **Components**:
- **Event Producer**: 상태 변화를 감지하고 이벤트를 발행함.
- **Event Bus / Broker**: 발행된 이벤트를 전달함 (Kafka, RabbitMQ 등).
- **Event Consumer**: 필요한 이벤트를 구독하여 로직을 실행함.
- **Benefits**:
- **Decoupling**: 생산자는 소비자가 누구인지 알 필요가 없다.
- **[[Scalability]]**: 트래픽 급증 시 메시지 큐를 통해 부하를 분산 처리할 수 있다.
- **Responsiveness**: 비동기 처리를 통해 즉각적인 사용자 피드백이 가능하다.
## ⚠️ 모순 및 업데이트 (Contradictions & Updates)
- 이벤트 주도는 시스템 흐름을 파악하기 어렵게 만든다(Where did this event come from?). 또한 '결과적 일관성(Eventual Consistency)'을 수용해야 하므로, 금융 거래처럼 원자성이 중요한 작업에는 설계 난이도가 급상승한다. 분산 추적(Distributed Tracing) 도구 없이는 재앙이 될 수 있다.
## 🔗 지식 연결 (Graph)
- Related: [[Microservices-Architecture]] , Message-Queue-Design
- Pattern: Observer-Pattern
## 🤖 LLM 활용 힌트 (How to Use This Knowledge)
**언제 이 지식을 쓰는가:**
- *(TODO)*
**언제 쓰면 안 되는가:**
- *(TODO)*
## 🧪 검증 상태 (Validation)
- **정보 상태:** needs_review
- **출처 신뢰도:** A
- **검토 이유:** *(P-Reinforce Phase 1 자동 정규화. 본문 검증 필요.)*
## 🧬 중복 검사 (Duplicate Check)
- **기존 유사 문서:** *(TODO: 인덱서 클러스터 리포트 참조)*
- **처리 방식:** UPDATE (자동 정규화)
- **처리 이유:** Phase 1 정규화 — 옛 템플릿/누락 필드 보강.
## 🕓 변경 이력 (Changelog)
| 날짜 | 변경 내용 | 처리 방식 | 신뢰도 |
|------|-----------|-----------|--------|
| 2026-05-08 | P-Reinforce Phase 1 정규화 (frontmatter + 헤더 표준화) | UPDATE | A |
## 💻 코드 패턴 (Code Patterns)
**패턴 1:** *(TODO: 이 프로젝트 컨벤션 반영한 구조 스켈레톤)*
```text
# TODO
```
## 🤔 의사결정 기준 (Decision Criteria)
**선택 A를 써야 할 때:**
- *(TODO)*
**선택 B를 써야 할 때:**
- *(TODO)*
**기본값:**
> *(TODO)*
## ❌ 안티패턴 (Anti-Patterns)
- **[안티패턴]:** *(TODO: 무엇을 하면 안 되는가 + 이유 + 대신 무엇을)*