Skip to content

Latest commit

 

History

13 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

✨ 주요 기능

동시성 재고 관리 분산 락을 통한 동시성 제어

🔧 기술 스택

Java Spring Boot PostgreSQL Redis RabbitMQ Distributed Lock Concurrent Programming

🌟 핵심 기술적 도전 과제 동시성 제어 메커니즘

비관적 락 (PostgreSQL) 분산 락 (Redis) 동시 요청 처리

동시성 처리 전략

CountDownLatch를 이용한 동시 요청 동기화 ExecutorService를 통한 병렬 처리 랜덤 사용자 ID 생성 예약 성공/실패 카운트 추적

🔒 동시성 보장 로직

재고 감소 시 동시성 충돌 방지 정확히 1000개의 재고만 예약 허용 10개의 요청은 자동으로 실패 처리

🔍 테스트 시나리오

10010명의 사용자가 동시에 재고 예약 시도 10000개의 재고에 대한 정확한 예약 보장 실패/성공 케이스 명확한 분리

🎯 주요 검증 포인트

DB 재고 일관성 Redis 재고 동기화 예약 성공/실패 카운트 검증

📡 알림 시스템

RabbitMQ를 통한 예약 완료 알림 구현

📊 성능 지표

99.01% 동시성 요청 처리 성공률 밀리초 단위 트랜잭션 처리

🛠 추가 개선 방향

더 robust한 에러 핸들링 고급 모니터링 시스템 도입 성능 튜닝 Rate Limit Circit Breaker

About

concurrent reserve system

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages