Skip to content

[HOTSPOT-346] 미집계 usage_applied_event_log 집계 Job 구현 #13

Description

@Jsnooopy

🎫 Jira 티켓 번호

HOTSPOT-346

📄 설명

Redis 장애 및 다운 상황에서 fallback 및 복구의 근거 데이터로 사용할 수 있도록
usage_applied_event_log를 기준으로 미집계 데이터를 집계하여
sub_usage_monthly_aggregate에 반영하는 Job을 구현한다.

해당 Job은 아직 월 집계 테이블에 반영되지 않은 usage_applied_event_log를 대상으로
sub_id + yyyymm 기준 사용량을 누적 집계해야 하며,
장애 이후 재실행 시에도 중복 반영되지 않도록 idempotent하게 동작해야 한다.

이를 통해 Redis 실시간 상태가 유실되더라도
DB 로그 기반으로 월별 사용량 집계를 복구할 수 있는 기반을 마련한다.

✅ 작업할 내용

  • usage_applied_event_log -> sub_usage_monthly_aggregate 집계 기준 정의

    • 집계 키를 sub_id, yyyymm 기준으로 확정
  • 미집계 로그 조회 쿼리 작성

    • usage_applied_event_log에서 집계 대상 범위 조회
    • 월 단위 집계용 group by 쿼리 또는 배치 처리 방식 설계
  • 월 집계 반영 Job 구현

    • 미집계 로그를 읽어 월 집계 데이터 생성
    • sub_usage_monthly_aggregate에 upsert 반영
    • 기존 집계값에 누적 반영되도록 처리
    • 재실행 시 동일 로그가 중복 합산되지 않도록 보장
  • 장애 복구 관점 처리 보강

    • Job 실행 중 실패 시 재시도 가능한 구조로 구현
    • 부분 반영/중복 반영 방지 전략 적용
    • 처리 완료 지점 체크포인트 저장 방식 구현

🙋🏻 참고 자료

No response

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

feat새로운 기능 구현

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions