Redisson 이용 동시성 문제 해결


Redisson 이용 동시성 문제 해결

Redisson 락을 획득하지 못했을 때 Lettuce에 비해 재시도 횟수가 적어서 Redis에 부하가 적다. Redisson은 Lock 관련 Class를 제공하기에 별도로 class를 만들 필요가 없다. 로직 실행 전후로 Lock 획득, 해제는 해줘야 하기에 Class가 필요하다. Facade를 구현해 준다. redissonClient에서 getLock을 통해서 Lock을 얻을 수 있고 tryLock으로 시도해본다. Lock을 얻으면 decrease 메서드를 실행하고 꼭 마지막에 unLock 해준다. 테스트 코드를 실행해 보면 정상 작동한다. Lettuce vs Redisson Lettuce 구현이 간단하다. Spring-data-redis를 이용하기에 Lettuce가 기본 제공 Spin Lock 방식이기에 동시에 많은 Thread가 Lock 획득 대기 상태면 Redis에 부하가 갈 수 있다. Redisson Lock 획득 재시도를 기본으로 제공한다. Pub-Sub으로 구현되어 있...


#Redisson #동시성

원문링크 : Redisson 이용 동시성 문제 해결