spring 2

Spring Redisson Lock 구현하기, 근데 AOP를 곁들인

읽기 전에Redis Lock 기본Redisson vs Lettuce서론위 글에서 적은 동시성 이슈를 해결하기 위해 Redisson을 도입한 Redis 락을 구현하게 되었다. 1. User A와 User B가 동시에 방에 참가한다2. User A와 User B가 거의 동시에 방 목록을 가져오게된다3. User A가 먼저 saveRoom을 하여 참가를 하게되고 다른 유저들은 User A가 마지막 참가자로 참가하는 알림을 받게 된다4. User B가 saveRoom을 하며 덮어쓰게되고 다른 유저들은 마지막 참가자가 User B가 되었다는 알림을 다시 받게된다5. User A는 방에서 추방되게 된다.이처럼 유저가 직접적으로 동시성 이슈로 인한 버그를 느낄 수 있기 때문에 Lock의 필요성을 느끼게 되었다.설계L..

개발 2024.10.21

Java로 Redis lock 구현하기

읽기 전에Redis의 락 레디스의 락에 대해서 정리한 글이다Spring의 Redis FrameworkSpring의 레디스 프레임 워크는 크게 3가지가 있다.Jedis , Lettuce, Redisson이렇게 있다. JedisRedis 동기식 Java 클라이언트, 비교적 간단하고 쉽다LettuceRedis 비동기 및 반응형 연결 Java 클라이언트, netty (자바 비동기 이벤트 기반 네트워크 애플리케이션)기반으로 이루어져 있다Reddisonnetty 기반의 고성능 비동기 및 락프리 Java 클라이언트, 락프리란 락을 사용하지 않고도 공유 자원에 대하여 여러 스레드 접근시 데이터의 일관성을 보장하는 프로그래밍 기법JedisRedis 용 비 동기식 Java 클라이언트라고 설명하며 비교적 간단하고 쉽게 사용..

학습 2024.10.21