Development(개발)/개발 Core
fault tolerance , 내결함성
버터젤리
2025. 7. 13. 15:11
Falut tolerance
시스템에 일부 장애나 오류가 발생하더라도 전체 서비스가 중단되지 않고 정상동작을 유지할 수 있는 능력
내결함성이 요구되는 대상과 솔루션
구분 | 내결함성 요구 대상 | 이유 | 솔루션 |
1️⃣ 수집기 | IoT 센서, 로그 수집 에이전트 (Fluentd, Telegraf 등) |
수집기 장애 시 데이터 손실 우려 | - 버퍼링 (disk/memory) - Retry/Backoff - MQTT QoS (1,2) |
2️⃣ 메시지 브로커 | Kafka, RabbitMQ, MQTT 등 | 메시지 전송 중 장애 대비 | - Replication (Kafka ISR) - High Availability 클러스터 구성 - ACK 기반 전송 보장 |
3️⃣ 수집 서버 / 인제스터 | Logstash, Fluentd, Kafka Connect 등 |
대량 데이터 실시간 처리 중단 방지 | - 로드밸런싱 - 다중 인스턴스 (Horizontal Scaling) - 헬스체크 + 자동 Failover |
4️⃣ 저장소 | 데이터베이스(MySQL, PostgreSQL, MongoDB 등), Data Lake |
저장 실패 시 데이터 유실 | - Primary-Replica 복제 - Multi-AZ 배포 (RDS, Aurora) - Write-Ahead Logging |
5️⃣ API 서버 | FastAPI, Django, Node.js API 등 |
API 장애 시 사용자 서비스 영향 | - Stateless 구조화 + 로드밸런서 - Auto Scaling Group (ASG) - 헬스체크 + 무중단 배포 |
6️⃣ 사용자 인증/세션 | 로그인, 토큰 인증 서비스 | 로그인 실패 or 세션 유실 위험 | - JWT (Stateless 토큰) - Session DB 이중화 (Redis Cluster 등) |
7️⃣ 모니터링 시스템 | Prometheus, Grafana, ELK 등 | 서비스 상태 파악 실패 → 알림 실패 |
- AlertManager 이중화 - Metric Push + Pull 병행 - Remote Write 백업 노드 구성 |
8️⃣ CDN / 웹 서비스 | Nginx, CloudFront, Cloudflare 등 |
사용자 요청이 지역 장애로 차단될 수 있음 |
- Anycast + Multi POP - Edge Cache 이중화 - Geo DNS, Failover DNS |
9️⃣ 컨테이너 오케스트레이션 | Kubernetes, ECS 등 | Pod/컨테이너 장애 시 서비스 중단 | - ReplicaSet, HPA, PodDisruptionBudget - Readiness/Liveness Probe - Node Auto Repair / Drain |