본문 바로가기 메뉴 바로가기

Hyo's Dev Log

프로필사진
  • 글쓰기
  • 관리
  • 태그
  • 방명록
  • RSS

Hyo's Dev Log

검색하기 폼
  • 분류 전체보기 (38)
    • Dev Log (7)
    • 디자인 패턴 (3)
    • MySQL (1)
    • RabbitMQ (1)
    • Elasticsearch (2)
    • 아키텍처 (1)
    • Redis (4)
    • Spring (3)
    • Kotlin (2)
    • Java (1)
    • JPA (Hibernate) (4)
    • Tomcat (1)
    • TIL (8)
    • 일기 (0)
  • 방명록

2022/05 (1)
분산 락을 사용하여, 동시성 문제 해결하기

기존에 운영되고 있던 Api 서버에서 동시성 이슈가 발생이 되었다. 포인트에서 마일리지로 전환하는 과정에서 적립과 차감내역이 정상적으로 반영되지 않던 문제였는데, 해결한 과정을 정리하려고 한다. 문제 포인트에서 마일리지로 전환할 때, 포인트는 차감되고 마일리지는 적립이 된다. 이때, 포인트가 1,000원이 있고 마일리지가 0원인 상태에서 포인트 -> 마일리지 전환에 대한 3번의 요청이 동시에 들어오면, 아래와 같은 결과가 발생하게 되었다. 포인트 차감 포인트 차감의 경우, 950원 -> 900원 -> 850원으로 반영되어야 하는데 3개의 내역이 모두 950원의 내역으로 반영되어 있다. 마일리지 적립 마일리지 적립의 경우, 50원 -> 100원 -> 150원으로 반영되어야 하는데 3개의 내역이 모두 50원..

Dev Log 2022. 5. 7. 15:24
이전 1 다음
이전 다음
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
  • Github
  • LinkedIn
TAG
more
«   2022/05   »
일 월 화 수 목 금 토
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 31
글 보관함

Blog is powered by Tistory / Designed by Tistory

티스토리툴바