KSCOLD LogoKSCOLD
Blog
Feed
Product
Admin Night
Vault
Guestbook
Info

Vault 목록

트랜젝션(transaction)

연결된 노트와 함께 읽기

트랜젝션(transaction)

2026년 5월 17일
  • 트랜젝션은 거래라는 뜻이고 비즈니스 로직(Business Logic) 계층에서 사용하는 용어이다.

  • 일반적인 서비스(Service) 업무 처리는 트랜젝션 단위로 진행된다.

  • 쪼갤 수 없는 업무의 최소 단위라고 생각하면 된다.

  • 트랜젝션이란 반드시 모두 성공해야 하는 일련의 과정을 뜻한다.

  • 만약 성공하지 못하면 원래 상태로 복구, 롤백(Rollback)이 된다.

  • 스프링은 서비스(Service) 클래스(Class)에 @Transactional를 이용하여 트랜젝션을 이용한다.

현실세계에서의 예시

  • 식당 예약을 예를 들면 다음과 같다.

    1. 시간 예약
    2. 테이블 지정
    3. 메뉴 선택
    4. 결제
    5. 영수증 발행
    6. 예약 완료
  • 만약 어떤 고객이 메뉴 선택까지 마친 상태, 즉 3번의 상태에서 결제에 실패했다면 앞서 진행한 기록은 모두 취소되어야 한다.

  • 실패한 정보가 계속 남으면 또 다른 예약을 받을 수 없기 때문이다.

  • 이렇게 모두 성공해야 하는 일련의 과정을 트랜젝션이라고 한다.

  • 트랜젝션이 실패로 돌아갈 경우 진행 초기 단계로 돌리는 것을 롤백(Rollback)이라고 한다.

  • 밑의 이미지는 트랜젝션과 롤백을 나타낸 것이다.

![Pasted image 20240206212431.png](Pasted image 20240206212431.png)

Synapse Map Insight