일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
Tags
- mongodb lookup
- java 파티
- 전략 패턴이란
- java 1238
- java 백준 1509
- ipfs bean
- spring mongoTemplate
- 자바 백준 팩토리얼 개수
- nodejs rabbitmq
- rabbitmq 싱글톤
- 백준 1504 java
- 자바 1676
- 백준 연결요소 자바
- Java Call By Refernce
- javav 1676
- spring mongodb
- kotiln const
- kotiln functional interface
- 백준 특정한 최단 경로
- Spring ipfs
- 백준 2252 줄세우기
- 안정해시
- spring mongoTemplate switch
- 익명 객체 @transactional
- spring mongodb switch
- java 팩토리얼 개수
- go
- java 1509
- kotiln const val
- ipfs singletone
Archives
- Today
- Total
목록2025/09 (1)
공부 흔적남기기
Transactional과 Lock 동시에 사용시 주의할 점
선착순 쿠폰 발급이나 티켓 예매와 같이 동시에 트래픽이 많이 들어올 경우 동시성 문제가 발생하기 마련이다.이러한 문제를 해결하기 위해 주로 락을 사용하여 동시성 문제를 해결한다. 이때 한가지 조심해야할 부분이 있다. 동시성 문제가 발생하는 코드 1@Transactionalfun issue(couponId: Long, userId: Long){ val coupon = findCoupon(couponId); coupon.issue() saveCouponIssue(couponId, userId)}사용자가 쿠폰 발급 버튼을 누르면 해당하는 쿠폰을 찾아 쿠폰을 발급하는 간단한 로직이다.동시에 여러명의 유저가 쿠폰발급을 누른다면 락이 존재하지 않기 때문에 쿠폰개수에 대해 동시성 문제가 발생하여 의..
web study/Spring
2025. 9. 11. 21:51