💡 리팩터링 대상 및 이유
DB 커넥션 풀 고갈과 톰캣 스레드 풀 병목 현상을 해결하기 위해, DB 락 대기 방식을 Redis 인메모리 분산 락으로 교체하여 쓰기 성능을 극대화
🔍 현재 코드 상태 (문제점)
StockCommandService에서 @Version 기반 낙관적 락을 사용 중이며, 충돌 시 while문과 Thread.sleep으로 백오프를 수행하여 부하 집중 시 애플리케이션 전체의 DB ConnectionTimeout을 유발함
✅ 체크리스트 (구현할 내용)
🚀 기대 효과
- DB 커넥션 점유 시간이 극단적으로 감소하여 TPS가 대폭 상승
- 500 에러 타임아웃 소멸
💡 리팩터링 대상 및 이유
DB 커넥션 풀 고갈과 톰캣 스레드 풀 병목 현상을 해결하기 위해, DB 락 대기 방식을 Redis 인메모리 분산 락으로 교체하여 쓰기 성능을 극대화
🔍 현재 코드 상태 (문제점)
StockCommandService에서 @Version 기반 낙관적 락을 사용 중이며, 충돌 시 while문과 Thread.sleep으로 백오프를 수행하여 부하 집중 시 애플리케이션 전체의 DB ConnectionTimeout을 유발함
✅ 체크리스트 (구현할 내용)
🚀 기대 효과