devHudi / hudi.blog

개인 블로그
https://hudi.blog
MIT License
17 stars 3 forks source link

distributed-lock-with-redis/ #65

Open utterances-bot opened 1 year ago

utterances-bot commented 1 year ago

Redis로 분산 락을 구현해 동시성 이슈를 해결해보자!

https://hudi.blog/distributed-lock-with-redis/

chaewonkong commented 1 year ago

잘 읽었습니다. 좋은 주제 감사합니다~

devHudi commented 1 year ago

안녕하세요 @chaewonkong 님! 도움이 되었다니 다행이네요 😄 좋은 한주 되시길 바랍니다!

potatoCompletion commented 1 year ago

진짜 알기 쉽고 잘 읽히는 유익한 글인 것 같습니다 !! 주니어 개발자인데 도움 많이 받고 갑니다~

seonminKim1122 commented 1 year ago

스핀락 구현하실 때 EventService에 redisLockRepository를 주입해서 사용하고 계신데 @Transactional 때문에 락을 반납하는 시점과 트랜잭션을 커밋하는 시점(결과가 DB에 반영되는 시점) 사이 달라서 이 때 다른 스레드가 락을 획득해서 작업을 수행하면 동시성 문제가 여전히 발생 가능할 것 같은데 문제 없나요??

joont92 commented 1 year ago

음 그러네요. 락 획득이 transactional 안에 있어서, 락이 해제되고 다음번 쓰레드가 락을 획득했을때에는 이미 트랜잭션이 시작된 상태일거라 다시 읽었을 때 똑같은 결과를 얻게 될 것 같습니다(repeatable-read 기준)

seong-wooo commented 11 months ago

잘..읽고.갑니다.