이슈서비스를 운영하던 중 유저가 늘어나자 일부 API에서 데드락 문제가 발생했다.당시 서비스는 DAU가 약 400명 정도 되는 상황이었다. 종종 서버 로그에 데드락 문제가 관찰되었고, 이에 관한 유저의 피드백도 제기되던 상황이었다. 1차 원인 추측데드락은 서로 다른 트랜젝션이 서로가 가진 lock을 기다리면서 순환 대기 상태가 되는 경우 발생한다. 당시 나는 트랜잭션을 원자성을 보장하는 도구 정도로만 이해하고 사용하고 있었다. 여러 로직을 하나의 작업 단위로 묶기 위해 트랜잭션을 사용했고, 트랜잭션의 범위에 대해서는 깊게 고민하지 않았던 상태였다. 이 부분에서 문제가 생겼을 것이라 생각하고 관련 자료를 찾아보던 중 트랜젝션은 가능한 짧게 유지해야 한다는 조언을 보게 되었다.당시 로깅 같은 비핵심 작업도..