Back-End/Spring

Back-End/Spring

[ Spring ] 트랜잭션 (Trasaction)의 이해

트랜잭션의 이해 트랜잭션이란 무엇일까?! 물건을 주문하던 중 네트워크의 오류로 인해 물건이 주문되지 않았다. 그런데 내 주문목록에 보니 물건이 들어있고 며칠 뒤 물건이 집에 도착했다!! 그야말로 창조경제 아닌가?!! 이러한 상황을 미연에 방지하기 위해 내 주문이 취소 될때 네트워크의 오류가 발생하여 내 주문정보와 결재정보 둘중 하나라도 실패하게 되면 모두가 실패하였다고 처리하는 방식 즉, 여러개의 작업들을 하나의 그룹으로 묶어서 처리하는 단위를 뜻한다. 이러한 트랜잭션의 처리 방식을 All or Nothing이라고 한다. ACID 원칙 트랜잭션은 ACID 원칙을 따른다. 원자성(Atomicity) 더이상 쪼갤 수 없음을 뜻한다. 즉, 주문이 취소되지만 결제가 되거나, 결제가 취소되지만 주문이 되는 것이 ..