작성
·
650
답변 2
0
Redis에서 명령/요청등을 처리하는 스레드는 한개인것으로 알고있습니다.
읽기 성능 확장을 위한 복제(Replication)와 쓰기 성능 향상을 위한 샤딩(Sharding)을 하더라도
명령/요청처리는 마스터의 한 스레드만 담당하는것으로 알고있는데요.
그래서 레디스를 스케일아웃으로 확장하더라도 동시성 보장이 되는것으로 보입니다.
내용에 틀린부분이 있다면 댓글 부탁드립니다.
---
Reddison Readme Features
(https://github.com/redisson/redisson/)
---
https://djlee118.tistory.com/111
https://akasai.tistory.com/23
0
안녕하세요. 리나님!
일단 강의에서 가정하는 인프라구조는 아래와 같습니다.
2개의 서버가 1개의 레디스를 바라본다고 한다면 동시성이 보장됩니다.
1개의 레디스에 먼저 Lock 을 획득한 서버가 Lock 을 해제하기 전까지 다른 서버에서는 Lock 을 획득하지 못하기때문입니다.
추가로 Redis Server 가 2개가 있는것은 Redis 를 2대를 활용한다는듯합니다. 맞을까요 ?
2대를 활용하는것이 맞다면 말씀해주신것처럼 동시성이 보장되지 않을 수 있습니다.
그럴때는 특별한 전략을 사용해야합니다.
가장 간단하게 생각을 해본다면 "2 대의 Redis 서버에서 모두 Lock 을 획득해야만 Lock 획득으로 인정한다" 라는 전략을 사용할 수 있을 듯합니다.
추가적인 질문이 있다면 댓글 달아주세요!
안녕하세요. seolnavy 님
말씀해주신 내용이 맞습니다 :)
제가 예시로 들어드린 2대의 Redis 에서 모두락을 얻는상황은 클러스터링이나 샤딩이 아닌 독립적인 2대의 Redis 의 상황이었습니다!
제가 리나님의 질문을 잘못 이해한듯합니다.
대신 답변주셔서 감사합니다 :)