로키의 개발 블로그

  • 홈
  • 태그
  • 방명록

USER_LEVEL_LOCK 1

[이슈 #2] 분산락을 활용한 중복 데이터 삽입 이슈 해결1

문제인식 개발 중 클라이언트로부터 동일한 데이터에 대한 삽입 요청이 동시에 들어오는 경우, 중복 데이터 검사 로직을 거치더라도 데이터가 중복 삽입되는 문제를 발견했습니다. 회원이 모임을 가입할 때 발생하는 문제를 예시로 들어보겠습니다. 위와 같은 로직을 거쳐 회원이 모임에 가입하는 경우입니다. 위처럼 클라이언트의 오류로 동일한 두 요청이 동시에 들어온 경우 회원이 한 모임에 중복으로 가입하게 되는 문제가 발생하게 됩니다. 이 문제는 간단하게 Unique 제약조건을 통해 해결할 수 있습니다. 그러나 만약 '모임에 역할을 부여하여 관리자 회원은 관리자 역할과 일반 역할로 중복 가입할 수 있다.'라는 요구사항이 추가되면 다음과 같이 DB의 제약조건을 변경해 주어야 합니다. 또한, 제약조건을 변경하는 불편함을 ..

[Project]/[Momo] 2022.08.02
이전
1
다음
더보기
프로필사진

로키의 개발 블로그

백엔드를 공부하는 로키의 개발 블로그입니다

  • 분류 전체보기 (16)
    • [Project] (5)
      • [Momo] (5)
    • [Back-end] (9)
      • [Spring] (7)
      • [Java] (2)
    • [Front-end] (1)
      • [React] (1)

Tag

애노테이션 파라미터, DistributedLock, Self Invocation, AOP, dynamicproxy, 소프트코딩, @Aspect, 다이내믹프록시, 동적 프록시, AnnotationAwareAspectJAutoProxyCreator, Spring, JDK동적프록시, 포인트컷, Self-invocation, USER_LEVEL_LOCK, 빈 후처리기, NAMED_LOCK, 네임드락, 스프링, 분산락,

최근글과 인기글

  • 최근글
  • 인기글

최근댓글

공지사항

페이스북 트위터 플러그인

  • Facebook
  • Twitter

Archives

Calendar

«   2025/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

방문자수Total

  • Today :
  • Yesterday :

Copyright © Kakao Corp. All rights reserved.

티스토리툴바