refactor: EDA choreography 패턴 전환 및 GCS ADC 마이그레이션#83
Merged
Conversation
- 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)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
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