-
Notifications
You must be signed in to change notification settings - Fork 0
2조 240828 랜덤 스쿼드 리뷰
Yoon JungJin edited this page Aug 29, 2024
·
4 revisions
- 중복 주문에 대한 요청을 처리하려함.
- 중복 주문 요청들의 쓰레드, db 커넥션 점유 시간을 최소화 하기 위해 고민함
- 요청자의 id값을 분산락을 통해 경쟁하고, 취득하지 못한 요청들은 중복 주문으로 판단해서 빠르게 exception을 던지도록 구현함
- 멱등성 키를 추가적으로 이용해서 중복 요청을 방지함
- 일명 "따닥" 이슈에 대해서 자세히 알게 되었다.
- 멱등성 키를 이용해서 방지하는 것 같은데 이 멱등성 키라는게 좀 애매한 것 같다.
- 결국 클라이언트에서 UUID같은 것으로 뽑아낸다지만 UUID도 겹칠 확률이 0은 아니고 같은 키가 접근해 한 요청이 롤백되면 문제가 있을 것 같다.
- Lock Free한 Single Thread 구조를 계획했는데 정합성 빵빵 터집니다...
- Thread 상태 관리를 통한 Produce, Consume은 커널 호출이 너무 많은 것으로 보입니다..
- ReenTrantLock을 활용해서 Thread Call을 최소화 하는 로직을 적용하고자 합니다.