로그 추적과 백업 복원
요청 실패를 관측하고 백업 복원과 수료 증거를 검증합니다.
진도 0%
레슨
- 요청 ID와 오류 추적
요청 ID·오류 코드·처리 시간으로 실패를 추적합니다.
- 지연과 자원 관찰
지연·오류율·메모리·연결 상태를 함께 관찰합니다.
- 백업과 복원 검증
일관된 백업과 별도 DB 복원의 기준을 정합니다.
- 장애 기록과 수료 설명
관측 근거·복구·후속 테스트와 설계 선택을 설명합니다.
로그 추적과 백업 복원 미션
앞 모듈의 결과를 이어서 장애 추적·백업 복원 기록과 수료 증거를 완성합니다.
요구사항
- M09 mission solution의 누적 구현·baseline·배포 파일을 유지하고 요청 ID의 안전한 생성·응답 헤더·오류 코드·MDC 정리를 추가합니다.
- 실제 H2 BACKUP TO·SHA-256 검증·새 디렉터리 Restore와 내용·제약·API 계약을 검증합니다.
- 서버 오류율과 nearest-rank p95, MockMvc 경계 지연·JVM 힙·스레드·H2 세션을 관측하며 관측하지 않는 항목은 N/A로 기록합니다.
- HANDOFF-M10.md에 관계도·API 명세·권한/CSRF·동시 대여·멱등·장애 리허설·복원 근거와 후속 완료 기준을 작성합니다.
완료 기준
- bash check.sh가 누적 Java 172개, metrics 집계 8개·Java 관측 1개와 파일 검사를 모두 통과하여 종료 0을 반환합니다. Maven 단독 통과는 전체 셸 검사 완료를 대신하지 않습니다.
- RequestTraceTest가 응답과 완료 로그 ID 일치·입력 오류·실제 SQL 오류와 예외 종류 연결·민감 입력 제외·MDC 복원·ID 길이와 문자 경계를 확인합니다.
- BackupRestoreTest가 실제 별도 복원, 일곱 테이블 전체 내용·PK/FK/UNIQUE·조회·인증/인가/CSRF·기존 키 재생·경합 결과·원본 DB 불변을 확인합니다. 손상 해시와 기존 대상은 복원 전에 거절합니다.
- 관측 하네스는 소켓 없는 MockMvc이며 네트워크 총 지연과 RSS·연결 풀을 검증하지 않습니다. 기존 Docker 리허설 check-m09.sh는 external/PENDING으로 별도 유지하고 이번 로컬 통과에 포함하지 않습니다.
- 문서 제출은 자동 테스트와 별도로 사람이 검토합니다. 주입된 장애를 운영 장애로, 별도 복원 검사를 실제 트래픽 전환으로 기록하지 않습니다.
bash check.sh미션 시작 코드
모범 답안
모범 답안 내려받기검토 기준
- 누적 설계 선택을 실제 파일·검사 이름·명령과 연결하고 물리 관계와 논리 관계를 구분합니다.
- 관측 사실·원인 가설·복구·예방·손실 경계·후속 검증을 구분하며 비밀값 없는 재현 기록을 제출합니다.