들어가면서어플리케이션에서 락(Lock)은 멀티쓰레드 환경에서 동시에 같은 자원에 접근하는 것을 방지하기 위해 사용됩니다.단일 서버 환경에서는 synchronized같은 어플리케이션 레벨 락으로 충분하지만,여러 서버가 동시에 하나의 자원(예: 주문, 결제, 재고관리)을 접근하는 분산 환경에서는 이 방식만으로는 제어가 어렵습니다.예를 들어 사용자가 주문 버튼을 2번 연속으로 클릭하여 서버에 요청했다는 가정을 하겠습니다.단일 서버 환경에서는 synchronized같은 어플리케이션 레벨의 락으로 중복실행을 막을 수 있지만,서버가 여러개면 1번째 요청은 1번 서버, 2번째 요청은 2번 서버로 요청이 갔을 경우1번 서버와 2번 서버가 서로의 서로의 상태를 모르기 때문에 2번 실행되어 문제가 발생합니다.이 문제를 해..