MySQL1 MySQL 격리 레벨에 의한 동시성 이슈 해결기 최근 회사 운영 환경에서 동시성 이슈가 발생했습니다. 문제의 원인을 찾고 해결하는 과정을 기록해 두면 좋을 거 같아서 글을 작성해 봅니다.문제 상황평화롭게 코딩을 하던 어느 날 사수로부터 동시성 문제가 발생했다고 전해 들었습니다.동시성 문제가 발생한 코드를 살펴보니 락을 건 상태에서 로직을 진행함에도 불구하고 동시성이 발생하는 상황이었습니다. 회사 비즈니스라 자세한 로직은 설명하지 못하지만 대충 설명하자면 다음과 같이 로직이 진행됩니다. 1. 회원을 조회합니다. (select) 1-1. 만약 회원이 조회되지 않는다면 회원 정보를 등록합니다. (insert)2. 회원을 비관적 락으로 조회하여 락을 겁니다. (select for update)3. 해당 회원과 연결된 테이블의 가장 최신 데이터(top)를.. 2024. 8. 14. 이전 1 다음