spring scheduler task에 shedlock + redis 적용방법
알쓸개잡:
Spring 스케줄러를 사용하여 배치 작업 및 예약된 작업을 손쉽게 할 수 있지만 AWS ECS, EKS와 같은 클라우드 기반 분산 컴퓨팅 환경에서는 멀티 인스턴스로 서비스를 하는 경우가 많은데 이러한 경우 각 인스턴스의 스케줄 태스크를 동기화할 수 없어서 같은 태스크가 중복 실행이 되어 예기치 않은 문제를 만날 수 있다. ShedLock은 이러한 중복 실행 문제에 대해서 각 인스턴스 간의 잠금 처리를 제공하여 하나의 인스턴스에서만 태스크를 실행할 수 있도록 한다. (태스크에 잠금 이름을 지정하여 동일한 이름에 대해서 잠금이 동작하므로 더 좁은 의미로는 태스크 간의 잠금 처리라고 하는 게 맞을 것 같다.) ShedLock은 태스크 간의 락 처리를 위해서 MongoDB, JDBC, Redis, Hazelc..