호이로그
close
프로필 배경
프로필 로고

호이로그

  • 분류 전체보기 (741) N
    • 개발 (386) N
      • C언어 (0)
      • PHP (6)
      • JAVA (102)
      • Python (10)
      • Typescript (105)
      • HTML (0)
      • DB (52)
      • NestJS (3)
      • 리눅스 (53)
      • 구글지도 (29)
      • 기타 (26) N
    • IT 테크 (289)
      • 리뷰 (110)
      • AI (46)
      • 기타 (131)
    • 전자회로 & 부품 (44)
    • 디지털 행정 & 자동화 실무 가이드 (7)
    • 기타 (2)
  • 홈
  • 태그
  • 방명록

[JAVA] 트랜잭션 분리 안 해서 장애 난 사례: 외부 API 호출과 DB 저장을 같은 트랜잭션에 묶으면 생기는 일

Java와 Spring Boot로 서비스를 만들다 보면 트랜잭션을 너무 넓게 잡는 코드가 생각보다 쉽게 나옵니다. 처음에는 단순해 보이지만, 외부 API 호출이나 느린 로직이 DB 트랜잭션 안에 들어가면 운영 중 장애로 이어질 수 있습니다. 트랜잭션 분리를 하지 않아 문제가 커졌던 사례를 기준으로, 원인과 개선 방향을 정리해보겠습니다.Java 트랜잭션 장애가 발생한 실제 문제 상황Java 기반의 주문 처리 서비스에서 발생한 문제였습니다. 사용자가 결제를 완료하면 서버는 주문 상태를 변경하고, 결제 승인 결과를 저장한 뒤, 외부 정산 API를 호출하는 흐름을 가지고 있었습니다.처음 코드는 보기에는 단순했습니다. 하나의 서비스 메서드에 @Transactional을 붙이고, 그 안에서 주문 조회, 상태 변경,..

  • format_list_bulleted 개발/JAVA
  • · 2026. 5. 24.
  • textsms
  • navigate_before
  • 1
  • navigate_next
공지사항
전체 카테고리
  • 분류 전체보기 (741) N
    • 개발 (386) N
      • C언어 (0)
      • PHP (6)
      • JAVA (102)
      • Python (10)
      • Typescript (105)
      • HTML (0)
      • DB (52)
      • NestJS (3)
      • 리눅스 (53)
      • 구글지도 (29)
      • 기타 (26) N
    • IT 테크 (289)
      • 리뷰 (110)
      • AI (46)
      • 기타 (131)
    • 전자회로 & 부품 (44)
    • 디지털 행정 & 자동화 실무 가이드 (7)
    • 기타 (2)
최근 글
최근 댓글
태그
  • #mysql
  • #google지도api
  • #typescript
  • #routesapi
  • #리눅스기초
  • #springboot
  • #googlemap
  • #api가이드
  • #java
  • #AI
전체 방문자
전체
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바