왜 Redisson을 사용했나?

Redisson은 Redis의 기능을 자바 친화적인 인터페이스(Map, List, Lock 등)로 제공하는 클라이언트 라이브러리입니다.


아키텍처 및 동작 원리

시스템은 AOP(Aspect Oriented Programming)를 사용하여 비즈니스 로직과 락 처리 로직을 분리하였습니다. 개발자는 어노테이션 하나로 손쉽게 동시성 제어를 적용할 수 있습니다.

동작 순서 (Flow)

데이터 정합성을 위해 "락 획득 → 트랜잭션 시작 → 커밋 → 락 해제" 순서를 엄격하게 준수합니다.

  1. 요청 진입: @DistributedLock이 선언된 메서드 호출 시 AOP가 가로챕니다.
  2. Lock 획득 (Redisson):
  3. 트랜잭션 실행 (Requires New):
  4. Lock 해제:

사용 방법 (Usage Guide)

비즈니스 로직 메서드 위에 @DistributedLock 어노테이션을 붙여 사용합니다.

기본 문법

@DistributedLock(key = "락_키_이름", waitTime = 5, leaseTime = 3)
public void businessMethod(Long id) {
    // 동시성 제어가 필요한 로직
}

파라미터 설명