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