
[SpringBoot] Scheduler + AOP + 분산락
·
SpringBoot
여러 대의 서버에 애플리케이션을 분산 배포할 때 스케줄러(Scheduler)에 대해 추가적인 고려가 필요합니다.예를 들어, 특정 시간에 이메일을 전송하는 스케줄러가 있을 경우두 서버에서 각각 동일한 작업이 실행되어 이메일이 중복 전송될 수 있습니다. 이러한 문제를 방지하기 위해 스케줄러에 분산락 AOP 를 적용하는 과정을 포스팅하려고 합니다. 1️⃣ 왜 분산락을 사용하나요? 위의 이메일 중복전송 예시같은 문제들을 방지하기 위해 사용하려는 것이 분산락(Distributed Lock)입니다.분산락은 여러 서버 또는 인스턴스에서 동시에 같은 작업이 실행되지 않도록 동시성 제어를 위해 사용됩니다.여기서 말하는 동시성(Concurrency)이란, 여러 작업이 동시에 실행되는 것처럼 보이도록 처리하는 방식..