MSA서비스에서는 innerGW 호출시에 해당된다.
개발할 때에 문제가 발생했을 때 롤백해야하는 범위에 transaction을 생각하며 걸자
트랜잭션이 동시에 같은 데이터에 접근하게 된다면
경쟁상태가 되고, 이로인해 여러 문제들이 일어날 수 잇다.
그렇기 때문에 문제를 예방하기 위해 데이터베이스는 격리수준을 지원하고 있다.
동시성과 관련한 다양한 문제들을 소개하고, 적절한 해결방법인 격리수준을 소개하겠다.
트랜잭션이 진행되는 동안에는 같은 데이터만 읽게함
일단 DB에는 A와 B가 10이었기 때문에 검정이는 B를 조회할 때에도
처음 트랜잭션이 시작되는 시점의 데이터를 읽게되는 것이다.
모든곳에 사용하면 성능이 안좋아서 보통 인덱스 기반의 잠금이나 조건기반 잠금에 사용한다
서로 다른 데이터를 update하는 것을 막을 수 있다.
이해할 때까지 봐야하는 중요한 개념
그래서 LOCK 걸려있으면 엄청 느려서 서버부하가 오는건가보다...
최범균 유튜브