데이터의 정합성을 위한 동시성을 제어 방법인 낙관적 락과 비관적 락에 대해서 정리를 했습니다. 테스트는 JPA를 활용해 테스트했습니다.
Named Lock은 MySQL에서 제공해주는 잠금 기능이며 잠금 기능 중 오버헤드가 적고 빠른 편에 속합니다. 하지만, 성능에 영향을 끼치는 요인이 많기 때문에 주의할 필요가 있습니다.
동시성 제어를 `Transcation`으로만 계좌 이체를 구현하는 중에 `TOTAL` 만큼 이체 요청을 보낼 때, `N` 개씩 동시에 요청을 하는 경우 `TOTAL⁒N`개 만 처리된 문제가 발생했습니다.