성장을 위한 기록장

  • 홈
  • 태그
  • 방명록

redis 1

선착순 쿠폰 발급 시 동시성 문제 해결 과정 Chap.1 (SQL 락과 Redis 락)

쿠폰 발급 시 일정 기간에 쿠폰을 발급 할 수 있고 발급 수량이 정해져 있다고 가정해보자.선착순으로 이벤트 쿠폰을 발급해준다고 했을 때, 한 번에 많은 사용자들이 동시에 쿠폰 발급 버튼을 누르면 어떻게 될까? 발급 가능한 수량보다 더 많은 쿠폰이 발급 될 것이다. ⚠️  왜 이런 상황이 발생할까? 바로 데이터 정합성이 깨지기 때문이다. 데이터 정합성이란 무엇인가 하면, 데이터가 논리적으로 모순없이 올바르게 유지되는 상태를 말한다. 즉, 시스템 내의 데이터가 항상 정확하고 신뢰할 수 있도록 보장하는 개념이다.모든 트랜잭션 이후에도 데이터가 규칙(rule), 제약조건(constraint), 비즈니스 로직에 맞게 유지되는 성질을 의미한다. 쿠폰 총 수량이 100개 인데, 150명이 동시에 발급 요청을 보내서 ..

JAVA 2025.04.08
이전
1
다음
더보기
프로필사진

성장을 위한 기록장

  • 분류 전체보기 (28)
    • Frontend (2)
      • react (1)
      • html・css・js (0)
      • error (1)
    • CS (3)
      • Algorithm (0)
      • DB (0)
      • OS (1)
      • Network (0)
    • SpringBoot (4)
    • JAVA (3)
    • node.js (0)
    • 트러블슈팅 (3)
    • MySql (0)
    • Oracle (0)
    • IntelliJ (0)
    • Project (3)
      • Nolleogasil (1)
      • Partnerd (2)
    • Docker (4)
    • CI&CD (2)
    • git&github (3)

Tag

트러블슈팅, 동시성 제어, 비관적 락, redis, 분산락, 낙관적 락, 개발메뉴얼, 문제해결,

최근글과 인기글

  • 최근글
  • 인기글

최근댓글

공지사항

페이스북 트위터 플러그인

  • 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.

티스토리툴바