🏷️ 이슈 유형
💡기능
FastAPI AI Worker의 상태와 RabbitMQ 메시지 처리 가능 여부를 확인할 수 있는 Health Check를 구현합니다.
또한 안전한 종료, 이벤트 계약 검증, Prometheus 지표 및 Commit SHA 기반 이비지 배포를 구성하여 운영 중 장애 감지와 롤백이 가능하도록 합니다.
🛠️할 일 목록
📌 참고 사항 / 제약 조건
/health/live는 외부 API나 RabbitMQ 장애 때문에 실패하지 않아야 합니다.
/health/ready는 실제 RabbitMQ 연결과 Consumer 처리 가능 상태를 반영해야 합니다.
- 기존
/ 엔드포인트를 컨테이너 Health Check로 사용하는 구성은 전용 Health 엔드포인트로 교체합니다.
- RabbitMQ 메시지를 처리하는 도중 컨테이너가 종료될 경우 메시지가 유실되거나 잘못 ACK 처리되지 않아야 합니다.
- 이벤트 계약은 현재
analysis.requested.v1, analysis.completed.v1, analysis.partial.v1, analysis.failed.v1을 기준으로 합니다.
- Prometheus Label에
analysisId, eventId, traceId, 사용자 ID, 전화번호, 메시지 원문 또는 URL을 사용하지 않습니다.
- 운영 이미지에는
latest 태그만 사용하지 않고 Git Commit SHA 태그를 생성합니다.
- 모니터링 시스템 자체의 배포와 Grafana 대시보드 구성은 인프라 작업 범위에서 진행합니다.
🏷️ 이슈 유형
feat: 새로운 기능 추가fix: 버그 수정refactor: 동작 변경 없는 구조 개선docs: README 등 문서 추가/수정chore: 설정, 빌드, 의존성 패키지 변경💡기능
FastAPI AI Worker의 상태와 RabbitMQ 메시지 처리 가능 여부를 확인할 수 있는 Health Check를 구현합니다.
또한 안전한 종료, 이벤트 계약 검증, Prometheus 지표 및 Commit SHA 기반 이비지 배포를 구성하여 운영 중 장애 감지와 롤백이 가능하도록 합니다.
🛠️할 일 목록
/health/live엔드포인트를 구현한다./health/ready엔드포인트를 구현한다.analysis.*.v1이벤트 스키마와 호환되는지 계약 테스트를 작성한다./metrics를 구성한다.📌 참고 사항 / 제약 조건
/health/live는 외부 API나 RabbitMQ 장애 때문에 실패하지 않아야 합니다./health/ready는 실제 RabbitMQ 연결과 Consumer 처리 가능 상태를 반영해야 합니다./엔드포인트를 컨테이너 Health Check로 사용하는 구성은 전용 Health 엔드포인트로 교체합니다.analysis.requested.v1,analysis.completed.v1,analysis.partial.v1,analysis.failed.v1을 기준으로 합니다.analysisId,eventId,traceId, 사용자 ID, 전화번호, 메시지 원문 또는 URL을 사용하지 않습니다.latest태그만 사용하지 않고 Git Commit SHA 태그를 생성합니다.