Skip to content

[Step2] : 다중 서버 환경에서 DB 동시성 제어를 적용하여 데이터 정합성을 보장하고 성능 임계치를 검증한다 #7

@woong2e

Description

@woong2e

✅ PR

#8

📝 Description

배경 (Background)

앞선 Step 1에서 synchronized와 ReentrantLock은 멀티 서버(Multi-JVM) 환경에서 동시성 제어가 불가능함을 확인했습니다.
AtomicInteger를 통한 하드웨어 가속은 처리량(TPS)은 높으나, DB 트랜잭션과의 시점 차이로 인해 Lost Update이 발생하여 데이터 정합성이 깨지는 한계가 있었습니다.

목표 (Goal)

  • 동시성 제어의 권한을 애플리케이션에서 데이터베이스로 이관하여, 분산 환경에서도 강력한 데이터 정합성을 보장
  • DB Lock을 적용하고 리소스 모니터링 진행

📝 Todo

  • 비관적 락 구현
  • 부하 테스트 및 검증 (k6 & Monitoring)
  • 정합성 검증: 1,000개 요청 시 정확히 1,000개의 쿠폰만 발급되는지 확인 (Over-selling 방지).
  • HikariCP Connection Pool의 상태 변화 관측.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions