동시성 이슈를 안전하게 해결하기

• 쇼핑몰에서 5000개의 할인 쿠폰을 선착순으로 배포하는 상황에서, 3만 명의 사용자가 동시에 몰려들어 정해진 수량보다 많은 쿠폰이 발급되는 동시성 문제가 발생했습니다.
• Java와 Spring Boot 환경에서 쿠폰 발급 로직을 구현하고, `CountDownLatch`를 사용하여 3만 개의 쿠폰 발급 요청을 테스트하며 동시성 문제를 해결하는 방법을 모색하고 있습니다.
• 30,000개의 요청을 처리하는 테스트에서 동시성 이슈로 인해 쿠폰이 초과 발급되는 문제가 발생했으며, 이를 해결하기 위해 락(Lock)과 같은 동시성 제어 방법을 사용해야 한다고 설명하고 있습니다.
• 동시성 제어 방법으로는 Synchronized와 ReentrantLock을 소개하며, 각각의 특징과 사용 방법을 간단히 설명하고 있습니다.

북마크
공유하기
신고하기