Coding-Su

  • 홈
  • 태그
  • 방명록

tech-note 1

[Challenge Story] 주문·결제 동시성 제어 — 6개 문제를 연쇄 발견한 설계 여정 (2주차 · 6팀 · 조수현)

TL;DR주문/결제 시스템에서 동시성 문제를 하나씩 해결할 때마다 새로운 문제가 연쇄적으로 드러났다.SAGA 패턴 → 취소 시 Lost Update → 데드락 → 이중 취소까지 6개 문제를 차례로 발견하고,SELECT FOR UPDATE와 정렬 기반 락 획득 순서로 모두 해결했다.문제 1: 결제 실패 중 새 주문 → 트랜잭션 분리로 보상 범위 명확화 (보상 자동 실행은 미구현) ↓문제 2: 주문 취소 시 재고 Lost Update → 취소에도 SELECT FOR UPDATE 추가 ↓문제 3: 여러 상품 주문 시 데드락 → productId 오름차순 정렬로 해결 ↓문제 4: 이중 취소 요청 → Order에 SELECT FOR UPDATE 추가 ↓문제 5: PENDING 방치 → 배치 ..

카테고리 없음 2026.05.22
이전
1
다음
더보기
프로필사진

Coding-Su

  • 분류 전체보기 (192)
    • 파이썬 공부하기 (0)
    • TIL (45)
    • 프로그래머스 코딩테스트 (123)
      • JAVA (41)
      • MySQL (63)
      • Python (19)
    • CS & 공부한 내용 (15)
    • Git & GitHub (1)
    • 내일배움캠프 (4)
      • 내일배움캠프 사전캠프 (3)
      • 웹개발 종합반 (0)
    • 김영한 강의 (2)
      • 스프링 핵심 원리 - 기본편 (2)

Tag

CS 공부, 인가, 로그인, java, tech-note, Python, springboot, 티스토리챌린지, til, JWT, CS공부, 인증, 프로그래머스, MySQL, 회원가입, Spring, 코딩테스트, IT 지식, wil, 오블완,

최근글과 인기글

  • 최근글
  • 인기글

최근댓글

공지사항

페이스북 트위터 플러그인

  • Facebook
  • Twitter

Archives

Calendar

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

Copyright © AXZ Corp. All rights reserved.

티스토리툴바