8. 스프링 부트의 서비스

트랜잭션

트랜잭션은 일이 처리되기 위해 데이터를 작성,수정하는 가장 작은 단위를 의미한다.
여러 트랜잭션이 묶여서 하나의 트랜잭션이 될 수 있다.
(유튜브 영상 찍기를 위해서 - 카메라 준비, 영상 찍기, 영상 편집 이렇게 세가지 트랜잭션이 된다.)
(그리고 이 세가지 트랜잭션은 영상을 업로드하기 위한 트랜잭션으로 묶일 수 있다.)

여러 트랜잭션이 모인 것을 우리는 서비스라고 부른다.

서비스의 의미

서비스는 여러가지 로직이 묶인 것이라고 이해하자.
만약 송금 서비스라 한다면,
보낸 사람의 잔고를 update하고, 받는 사람의 잔고를 update하는 두가지 로직이 묶인 것이다.
서비스는 자신이 가진 모든 로직이 성공해야 commit을 한다.

즉 보낸 사람의 잔고를 update 했는데, 받는 사람의 잔고를 update 못했다면,
송금 서비스는 두 로직 모두를 롤백 시킨다.
이처럼 서비스는 여러 트랜잭션을 하나의 트랜잭션으로 묶어서 사용가능하다.

Share