id, title, category, status, canonical_id, aliases, duplicate_of, source_trust_level, confidence_score, verification_status, tags, raw_sources, last_reinforced, github_commit, tech_stack
id
title
category
status
canonical_id
aliases
duplicate_of
source_trust_level
confidence_score
verification_status
tags
raw_sources
last_reinforced
github_commit
tech_stack
wiki-2026-0508-소프트웨어-아키텍처-베스트-프랙티스
소프트웨어 아키텍처 베스트 프랙티스
10_Wiki/Topics
verified
self
Architecture Best Practices
SW Architecture Patterns
none
A
0.9
applied
architecture
best-practices
patterns
2026-05-10
pending
language
framework
agnostic
agnostic
소프트웨어 아키텍처 베스트 프랙티스
매 한 줄
"매 best practice는 매 context-bound이며, 매 trade-off 의 명시 없이 적용 시 매 cargo cult로 전락한다" . Fowler / Vernon / Newman의 매 distillation은 매 boundary 의 명확화, 매 dependency 의 inversion, 매 deployment 의 independence를 매 핵심으로 본다.
매 핵심
매 SOLID at architecture level
SRP : 매 service 매 single business capability.
OCP : 매 plugin / 매 extension point.
LSP : 매 contract-based versioning.
ISP : 매 client-specific API (BFF).
DIP : 매 ports & adapters.
매 Cloud-native principles (12-factor + extensions)
매 stateless processes.
매 config via env.
매 backing services as attached resources.
매 disposability (fast startup, graceful shutdown).
매 logs as event streams.
매 health endpoints (/healthz, /readyz).
매 telemetry by default (OpenTelemetry).
매 응용
매 deployment 독립성으로 매 release cadence 향상.
매 boundary 명확화로 매 team autonomy.
매 observability 매 ship-time guarantee.
💻 패턴
Health endpoint (Spring Boot)
Circuit breaker (Resilience4j)
Outbox pattern (Postgres + Debezium)
Idempotency key (REST)
Feature flag (LaunchDarkly-style)
매 결정 기준
상황
Approach
매 cross-service consistency
Outbox + Kafka
매 retry safety
Idempotency key
매 cascading failure 방지
Circuit breaker
매 zero-downtime release
Feature flag + blue/green
매 schema evolution
Backward-compatible (additive) only
기본값 : 매 12-factor + OpenTelemetry + idempotency.
🔗 Graph
🤖 LLM 활용
언제 : 매 best practice 의 trade-off 설명 / 매 idempotency key generation.
언제 X : 매 specific SLA tuning — 매 production data 기반 결정 필요.
❌ 안티패턴
Cargo cult microservices : 매 boundary 없이 매 split.
Distributed transaction : 매 2PC across services.
Shared database : 매 service 간 매 schema 공유.
Dual write : 매 outbox 없이 매 DB + Kafka 동시 write.
🧪 검증 / 중복
Verified (Newman, Building Microservices 2e ; Vernon, Implementing DDD ; Fowler, Patterns of Enterprise Application Architecture ).
신뢰도 A.
🕓 Changelog
날짜
변경
2026-05-08
Phase 1
2026-05-10
Manual cleanup — 매 outbox / circuit breaker / idempotency 추가