[포텐데이 409-1pick] 분석 서비스 개발 중 만난 데드락과 동시성 문제 해결기 (5)
·
Project
이전 포스팅에서 데드락과 동시성 문제를 해결하는 시리즈를 마치려고 했습니다.그런데 생각해 보니 데일리 리포트를 생성하는 부분뿐만 아니라 위클리 리포트를 생성하는 부분에서도 네임드 락 호출이 필요했습니다. 함께 고도화를 하고 있는 팀원들이 네임드 락을 사용할 때 반납하는 코드를 깜빡한다면 서비스 장애가 일어날 수도 있습니다. 비즈니스 로직에서 동기화가 필요한 부분에 `try-finally`문으로 반납하는 부분이 반복돼서 사용될 것도 예상되죠. 그래서 이번 포스팅에서는 `AOP`를 활용해 비즈니스 로직에서 네임드 락 관련 관심사를 분리하는 과정을 담았습니다. 관심사 분리네임드 락의 사용 목적과 특성을 고려해야 한다네임드 락의 사용 목적네임드 락은 왜 사용할까요?핵심은 `동기화`입니다.저의 경우처럼 멀티 스레..