다이어그램 압축.zip

Traffic PR 정리 문서

0. 의존성 기준(AGENTS.md 준수)

항목 version source context7_library_id
Spring Boot 3.5.10 docs/context7-dependencies.yaml not_used (코드/설정 구현 정리 문서로, 외부 API 시그니처 조회 불필요)
Redis Spring Data Redis 3.5.8 + Lettuce 6.6.0.RELEASE docs/context7-dependencies.yaml not_used (레포 내 키/TTL/코드 동작 기준 정리)
MyBatis core 3.5.19 / starter 3.0.5 docs/context7-dependencies.yaml not_used (레포 내 Mapper SQL 기준 정리)
JDBC Spring JDBC 6.2.15 docs/context7-dependencies.yaml not_used (트랜잭션/쿼리는 코드/SQL 기준 정리)
JUnit Jupiter 5.12.2 docs/context7-dependencies.yaml not_used (테스트 실행 결과/테스트 코드 기준 정리)

1. 변경 배경 및 범위

1.1 변경 목적/배경

이번 변경의 목적은 다음 3가지입니다.

  1. API 서버에서 트래픽 요청을 수신해 Redis Streams로 비동기 적재
  2. traffic 서버에서 10-tick(1초 1tick) 오케스트레이션으로 데이터 차감 처리
  3. 처리 완료 결과를 DONE 테이블에 idempotent하게 저장하고 ACK 순서를 고정

1.2 변경 범위

구분 변경 내용
traffic 패키지 신규 컨트롤러, DTO/도메인, 서비스, Mapper 전체 신규 추가 (37개 클래스)
Redis/Lua/Mapper/DDL 신규 lua/traffic/* 5개, mapper/traffic/* 2개, Flyway 1개 추가
공통 설정 변경 Redis 인프라 분리(세션/캐시/스트림), profile 분리(local/api/traffic)
정책 패키지 소폭 변경 UserPolicyServiceImplAdminPolicyServiceImpl에 policy write-through 연동
기타 소폭 변경 로깅/예외 로그 강화, 알림 서비스 메서드 추가, 일부 Mapper 테이블명 대문자 통일

1.3 변경 파일 개요