Devin.KR

로그 추적과 백업 복원

요청 실패를 관측하고 백업 복원과 수료 증거를 검증합니다.

진도 0%

레슨

  1. 요청 ID와 오류 추적

    요청 ID·오류 코드·처리 시간으로 실패를 추적합니다.

  2. 지연과 자원 관찰

    지연·오류율·메모리·연결 상태를 함께 관찰합니다.

  3. 백업과 복원 검증

    일관된 백업과 별도 DB 복원의 기준을 정합니다.

  4. 장애 기록과 수료 설명

    관측 근거·복구·후속 테스트와 설계 선택을 설명합니다.

로그 추적과 백업 복원 미션

앞 모듈의 결과를 이어서 장애 추적·백업 복원 기록과 수료 증거를 완성합니다.

요구사항

  • 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
미션 시작 코드
모범 답안모범 답안 내려받기

검토 기준

  • 누적 설계 선택을 실제 파일·검사 이름·명령과 연결하고 물리 관계와 논리 관계를 구분합니다.
  • 관측 사실·원인 가설·복구·예방·손실 경계·후속 검증을 구분하며 비밀값 없는 재현 기록을 제출합니다.