# RCA(근본원인분석) 보고서 (작성 예시 — 결제 서비스 장애)

> 이 문서는 빈 양식(RCA보고서-템플릿.md)을 실제 사례로 채운 **완성본 예시**입니다.
> 5 Whys(수직)와 피시본(수평)을 함께 쓰고, 근본 원인과 기여 요인을 각각 대책으로
> 연결한 점, 모든 대책에 담당·기한·검증이 붙은 점에 주목하세요.

| 항목 | 내용 |
|---|---|
| 문서번호 | RCA-2026-0618-01 |
| 연관 장애보고서 | INC-2026-0618-01 |
| 대상 서비스 / 장애일 | 결제(Payment) / 2026-06-18 |
| 작성자 / 부서 | 홍문제 / 문제관리(Problem) |
| 작성일 / 검토자 | 2026-06-22 / 이운영(운영 PL) |

---

## 1. 문제 정의

2026-06-18 21:05부터 22분간 결제 요청의 90% 이상이 타임아웃으로 실패함. 영향은 결제 서비스
전 고객이며 연계된 주문 일부가 지연됨.

## 2. 영향

- 영향 서비스: 결제(Payment), 연계 주문 서비스 일부 지연
- 실패 건수 / 영향 고객: 약 1,400건 결제 실패 / 해당 시간 결제 시도 전 고객
- 지속 시간: 21:05 ~ 21:27, 22분
- 정량 손실: 추정 매출 영향(평균 객단가 기준 환산) + 월 가용성 SLA 임계 위반

## 3. 타임라인

```text
21:05  결제 실패율 급증(자동 경보 없음, 실패 후 수동 인지)
21:12  운영 인지 및 1차 조사 시작
21:20  커넥션 풀 고갈 확인(사용 가능 커넥션 0), 재시작 결정
21:27  결제 인스턴스 재시작 → 커넥션 풀 초기화, 정상화 확인
```

## 4. 분석 과정

### 4-1. 5 Whys (수직)

```text
Q1. 왜 결제가 실패했나?        → 커넥션 풀이 고갈돼 신규 요청이 대기·타임아웃
Q2. 왜 풀이 고갈됐나?          → 특정 조회 경로가 커넥션을 반환하지 않고 누수
Q3. 왜 누수가 운영까지 갔나?   → 배포 전 부하 테스트에 그 경로가 빠져 있었다
Q4. 왜 고갈 전에 못 막았나?    → 풀 사용률 임계 경보가 설정돼 있지 않았다
Q5. 왜 경보가 없었나?          → 신규 서비스 배포 체크리스트에 경보 항목이 없다
                              → (근본 원인: 누수 코드 + 검증/관측 체계의 구조적 누락)
```

### 4-2. 피시본 (수평)

| 범주 | 기여 요인 |
|---|---|
| 사람(People) | 신규 경로 배포 시 관측 항목 검토 담당이 불명확(개인 탓 아닌 역할 미정의) |
| 프로세스(Process) | 배포 체크리스트에 경보·부하테스트 항목 부재(검증 누락) |
| 시스템(System) | 특정 조회 경로의 커넥션 미반환(누수) + 풀 크기 고정(여유 부족) |
| 환경(Environment) | 이벤트성 트래픽 증가로 누수 누적 속도 가속 |

## 5. 근본 원인

특정 조회 경로에서 커넥션을 반환하지 않는 누수가 존재하며, 이를 운영 반영 전에 걸러낼
**검증·관측 체계가 구조적으로 누락**됨. (누수 코드 자체와, 그것을 막았어야 할 체계의 부재가 겹침)

## 6. 기여 요인

- 풀 사용률 임계 경보 미설정 — 탐지 지연(고갈될 때까지 아무도 몰랐다)
- 풀 크기가 트래픽 대비 작게 고정 — 여유 부족(누수가 더 빨리 임계에 도달)
- 배포 전 부하 테스트에 해당 조회 경로 미포함 — 검증 누락(운영 전 못 걸러냄)

## 7. 재발방지대책 (액션아이템)

| # | 대책 | 유형 | 담당 | 기한 | 검증 방법 |
|---|---|---|---|---|---|
| 1 | 커넥션 누수 경로 수정 및 반환 보장(try-with-resources/finally) | 시정(코드) | 결제개발 김OO | 2026-06-25 | 누수 단위테스트 추가·통과 |
| 2 | 풀 사용률 임계 경보 추가(80% 경고, 90% 위험) | 예방(관측) | 운영 박OO | 2026-06-23 | 임계 초과 시 알림 발화 테스트 |
| 3 | 배포 체크리스트에 경보·부하테스트 항목 추가 | 예방(프로세스) | SM리드 이OO | 2026-06-27 | 다음 배포에서 체크리스트 적용 확인 |
| 4 | 결제 부하 테스트에 해당 조회 경로 포함 | 예방(검증) | QA 정OO | 2026-06-30 | 부하 리포트에 해당 경로 결과 존재 |

> 점검: 근본 원인(누수=대책1)뿐 아니라 기여 요인 3개(탐지=대책2 / 검증절차=대책3 / 부하검증=대책4)가
> 모두 대책으로 연결됨. 빈 축이 없으므로 같은 부류 재발 경로가 닫힘.

## 8. 검증 계획

- 대책 적용 후 2주간 풀 사용률·결제 실패율 모니터링, 임계 경보 발화 테스트로 동작 확인(7/7까지)
- 다음 정기 부하 테스트 리포트(7월)에 해당 조회 경로 결과 포함 여부 확인
- 액션아이템 추적: 6/25·7/2 운영 회의 및 문제관리(Problem) 보드에서 완료·검증까지 추적,
  미완 대책은 다음 RCA의 기여 요인으로 넘어가지 않도록 관리

---

> 결재 / 검토
>
> | 작성 | 검토(운영 PL) | 승인(PM) | 고객 통보 |
> |---|---|---|---|
> | 홍문제 / 06-22 | 이운영 / 06-22 | 박PM / 06-22 | 운영기획 / 06-23 |
