Redis Lettuce 백엔드
최신 안정판 Leader 0.4.0 릴리스 기준
라이브러리 모듈
제공하는 기능
섹션 제목: “제공하는 기능”Lettuce connection, token 소유 Redis key, Lua compare-and-delete/extend로 단일·고정 슬롯 그룹·전략 선출을 구현합니다. 블로킹과 코루틴 API를 제공합니다.
사용하기 좋은 경우
섹션 제목: “사용하기 좋은 경우”Redis를 이미 운영하고 Lettuce의 connection 모델과 명시적인 script 방식을 선호할 때 선택합니다.
의존성 좌표
섹션 제목: “의존성 좌표”Maven 좌표: io.github.bluetape4k.leader:bluetape4k-leader-redis-lettuce
dependencies { implementation(platform("io.github.bluetape4k:bluetape4k-dependencies:<version>")) implementation("io.github.bluetape4k.leader:bluetape4k-leader-redis-lettuce")}핵심 개념
섹션 제목: “핵심 개념”고유 token이 TTL key를 소유합니다. Lua script가 release와 extension을 조건부로 수행합니다. 전략 선출은 후보 메타데이터를 저장하고 Core 전략을 적용합니다.
빠르게 시작하기
섹션 제목: “빠르게 시작하기”val elector = LettuceLeaderElector(connection)elector.runIfLeader("daily-report") { generateReport() }작업별 API
섹션 제목: “작업별 API”connection 확장/factory, blocking/suspend 단일·group elector, 전략 elector를 사용합니다. Connection은 호출자가 소유합니다.
권장 패턴
섹션 제목: “권장 패턴”전용 key prefix를 쓰고 Redis client/connection 생명주기를 명시합니다. 본문은 멱등하게 만들고 failover 중 동작을 미리 정하세요.
Spring은 Lettuce 자원으로 factory를 만들 수 있습니다. strategic-election과 rate-limiter 예제에 후보와 그룹 패턴이 나와 있습니다.
wait/lease/minimum lease, auto-extension, key prefix, group size, retry, client timeout, topology refresh, Redis 내구성 정책을 설정합니다.
실패 유형과 해결 방법
섹션 제목: “실패 유형과 해결 방법”경쟁은 null입니다. Timeout, MOVED/topology, script, 인증, extension 실패는 예외로 드러납니다. 만료 뒤 pause된 이전 작업과 겹칠 수 있습니다.
command 지연, reconnect, topology 변경, script 실패, key/TTL, extension 실패, skip 비율, Redis 메모리를 관측합니다.
테스트
섹션 제목: “테스트”실제 Redis에서 두 connection, token-safe release, 만료, 그룹 슬롯, 전략 registry, failover, suspend 취소를 검증합니다.
학습 경로와 예제
섹션 제목: “학습 경로와 예제”strategic-election으로 후보 점수 방식을, rate-limiter로 그룹 슬롯을 익히세요. Redisson의 고수준 client 모델과도 비교합니다.
제약 사항
섹션 제목: “제약 사항”Redis 가용성과 failover 의미가 job 경로에 들어옵니다. Redis token은 외부 DB의 fencing이 아닙니다.
배포본 다이어그램
섹션 제목: “배포본 다이어그램”아래 그림은 0.4.0 배포본의 README 자산을 해당 배포 커밋에서 직접 불러옵니다. 이후 SNAPSHOT이 아니라 이 매뉴얼 버전의 구조와 실행 흐름을 보여 줍니다. 미리보기를 누르면 같은 배포 커밋의 SVG 원본이 열립니다.
Lettuce Redis leader contract 지도
섹션 제목: “Lettuce Redis leader contract 지도”배포본 README: leader-redis-lettuce/README.ko.md
Lettuce slot-token acquire release and crash recovery 흐름
섹션 제목: “Lettuce slot-token acquire release and crash recovery 흐름”배포본 README: leader-redis-lettuce/README.ko.md
Lettuce minLeaseTime backend TTL delegation 흐름
섹션 제목: “Lettuce minLeaseTime backend TTL delegation 흐름”배포본 README: leader-redis-lettuce/README.ko.md


