Skip to content

Latest commit

 

History

78 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

프로젝트 소개

선착순 커피 쿠폰 발급 시 발생하는 race condition을 방지하는 방법을 학습하기 위한 프로젝트입니다. 정해진 수량의 커피 쿠폰을 여러 사용자가 동시에 요청할 때, 수량을 초과해서 발급되지 않도록 안전하게 처리하는 방법을 다룹니다. 비관적 락, 낙관적 락, 분산 락 등 다양한 동시성 제어 기법을 적용하고 비교해보는 것을 목표로 합니다.

기술 스택

  • Kotlin
  • Spring Boot
  • Spring Data JPA
  • Spring MVC
  • MySQL
  • Gradle
  • JUnit5

실행 방법

사전 준비

  • JDK 17
  • MySQL 실행 후 coffee-coupon-api/src/main/resources/application-local.yaml.example을 같은 디렉토리에 application-local.yaml로 복사하고 실제 MySQL 접속 정보(비밀번호 등)를 입력하세요.

실행

cd coffee-coupon-api
./gradlew bootRun

테스트

cd coffee-coupon-api
./gradlew test

브랜치 전략

Git Flow를 따릅니다. 자세한 내용은 docs/BRANCHING.md를 참고하세요.

About

Coffee coupon issuance API with concurrency control

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages