MySQL 기반 분산 락 구현 가이드
MySQL 데이터베이스를 활용한 분산 락(Distributed Lock)은 멀티 인스턴스 환경에서 스케줄링 작업이 중복 실행되지 않도록 보장하는 효과적인 방법이다.
락 테이블 생성
CREATE TABLE app_lock (
resource_name VARCHAR(64) PRIMARY KEY,
locked_by VARCHAR(64),
locked_at DATETIME,
expires_at DATETIME
);
락 획득
락을 획득할 때는 app_lock 테이 ...
6월 24일 23:47에 게시됨
SpringBoot 비동기 처리와 세마포어를 활용한 동시성 제어
세마포어(Semaphore)는 다중 스레드 환경에서 공유 자원에 대한 동시 접근을 제어하는 동기화 메커니즘입니다. 허용된 개수만큼의 스레드만 자원에 접근할 수 있도록 관리하며, 초과하는 요청은 대기 상태로 전환됩니다.
실무에서는 외부 API 호출, 데이터베이스 연결, 파일 I/O 등 리소스 집약적인 작업에 동시 접근 제한을 적용하여 시스템 안정성을 확보합니다. 예를 ...
5월 29일 08:32에 게시됨