Skip to content

refactor: EDA choreography 패턴 전환 및 GCS ADC 마이그레이션#83

Merged
lsh1215 merged 4 commits intodevelopfrom
refactor/event-driven-choreography
Feb 13, 2026
Merged

refactor: EDA choreography 패턴 전환 및 GCS ADC 마이그레이션#83
lsh1215 merged 4 commits intodevelopfrom
refactor/event-driven-choreography

Conversation

@lsh1215
Copy link
Member

@lsh1215 lsh1215 commented Feb 13, 2026

Summary

  • AMQP domain events 기반 choreography 패턴 구현 (OCR → Event → Alert 독립 구독)
  • Alert Worker: Celery worker → kombu event consumer 전환
  • GCS 인증: JSON 키 → ADC (Application Default Credentials) 마이그레이션
  • 부하테스트 스크립트 전면 개선 (5개 시나리오, 가설-실행-비교 프레임워크)

Changes

  • core/events/: AMQP topic exchange publisher/consumer 추가
  • tasks/ocr_tasks.py: detections.completed 이벤트 발행
  • tasks/notification_tasks.py: plain function으로 전환 (Celery task → kombu consumer에서 호출)
  • scripts/start_alert_worker.sh: kombu event consumer 실행
  • backend.env.example: GOOGLE_APPLICATION_CREDENTIALS 제거, FIREBASE_CREDENTIALS 유지
  • docker/docker-compose.yml: OCR credentials 볼륨 제거 (ADC 사용)
  • docker/k6/mqtt-load-test.py: 5개 시나리오 + MySQL 검증
  • docs/load-testing.md: 부하테스트 문서 추가

Test plan

  • 6개 GCE 인스턴스 배포 및 E2E 파이프라인 검증 완료
  • 실제 GCS 이미지(auto-notify/car-numbers/)로 OCR 처리 확인
  • Alert event consumer 정상 수신 확인
  • Docker 이미지 재빌드 후 docker cp 패치 없이 정상 동작 확인

- AMQP domain events 기반 choreography 패턴 구현
  - core/events/publisher.py: topic exchange로 이벤트 발행
  - core/events/consumer.py: kombu ConsumerMixin으로 이벤트 구독
  - OCR → detections.completed 이벤트 → Alert 독립 구독
- Alert Worker: Celery worker → kombu event consumer로 전환
- GCS 인증: JSON 키 파일 → ADC (Application Default Credentials)
  - GOOGLE_APPLICATION_CREDENTIALS 환경변수 제거
  - GCE 메타데이터 서버 자동 인증 사용
  - FIREBASE_CREDENTIALS는 유지 (FCM용)
- MQTT subscriber: paho-mqtt v2 API 적용
- 부하테스트 스크립트 전면 개선
  - 5개 시나리오 (smoke/baseline/saturation/spike/sustained)
  - 가설-실행-비교 프레임워크
  - MySQL 파이프라인 검증
- 부하테스트 문서 추가 (docs/load-testing.md)
- Remove unnecessary f-string prefixes (F541)
- Fix line too long >120 chars (E501)
@lsh1215 lsh1215 merged commit 6688c4b into develop Feb 13, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant