Transaction Management
스프링은 트랜잭션 관리 추상화를 제공한다.
- JTA, JDBC, JPA, Hibernate 등의 다양한 기술에서 일관된 트랜잭션 관리 모델을 제공한다.
- 선언적 트랜잭션 관리를 지원한다. (어노테이션 방식)
- 간단한 프로그래밍 방식의 트랜잭션 관리 API도 제공한다.
Advantages of the Spring Framework’s Transaction Support Model
예전 개발자들은 트랜잭션 관리를 위해
- 글로벌 트랜잭션 → DB, 메시지 큐 같이 여러 시스템의 트랜잭션을 관리하는 것
- 로컬 트랜잭션 → 하나의 시스템 트랜잭션만 관리하는 것
중 하나를 선택해야했다.
근데 이 두 가지 방식 모두 심각한 한계가 있다. 이 두가지 방식에 대해 알아보고 스프링은 어떻게 이를 극복하며 트랜잭션 관리 지원을 해주는지 알아보자.
트랜잭션 관리에 애플리케이션 서버가 필요없다는게 무슨말이지?
- 과거에는 애플리케이션 외에 트랜잭션을 관리하는 별도의 서버가 필요했다;
- 스프링에서는 자체적으로 트랜잭션을 관리할 수 있도록 해줌.