본 글은 시대팅 시즌5 백엔드 개발 과정에서 발견한 동시성 문제를 AOP를 이용해 해결하게 된 과정을 담은 글입니다. 문제 상황실수로 동시 요청이 들어왔을 때, 반드시 1:1 관계여야 하는 엔티티가 1:2로 DB에 저장되는 문제 스프링 부트는 실행 시, 미리 쓰레드 풀을 생성하여 톰캣에서 Http 요청마다 하나의 쓰레드를 할당한다. 이를 통해 여러 유저의 요청을 병렬적으로 처리할 수 있다. (기본적으로 200개) 다만 이러한 스프링의 방식이 자칫 DB의 무결성을 해칠 수 있다는 것을 이번 프로젝트를 통해 알게 됐다.그리고 이런 DB의 무결성 문제는 곧 여러 로직에서 런타임 오류의 원인이 된다. 문제 코드 @Transactional override fun requestPayment( ..