최근 우연찮은 기회로 현업 개발자와 동시성 이슈에 대한 얘기를 할 기회를 얻었다. 동시성 이슈에 대해서 고민해보고 어떤 상황에 어떤 방식으로 해결하는 결론을 내렸는 지 정리된 걸 얘기해 보았는데, 결론은 Serializable을 쓸 일은 없었지만 내가 고민한 과정중에 있었고 지식 교정이 필요한 걸 알게 되었다. 이번 포스팅에선 그 점을 다뤄볼까 한다. DB에 데이터가 공유자원이다. 동시성을 어떻게 해결할거냐? RDBMS라면 일단 낙관락, 비관락 이런걸 해결책으로 떠올릴 수 있고, 여러 저장소와 글로벌 트랜잭션이 필요하다면 Redis로 공유 락을 잡는 방법도 있다. 이건 모범 답안이고, 이런 방법들을 알기 전에 나는 격리 레벨을 Serializable로 설정하면 데이터에 락이 걸려서 트랜잭션간 동시성이 잡..