IT Knowledge/기타
RedisClusterNode Validate that the Redis URI are equal when comparing nodes
Seok.
2023. 9. 4. 08:16
반응형
[이슈 현상]
Redis Cluster의 Node IP가 변경되어도, RoundRobinSocketAddressSupplier는 변경된 Node IP로 새로고침을 하지 않고, 이전의 IP로 계속 연결을 시도합니다.
[환경]
Lettuce 버전 : 5.1.8 버전
Redis 버전 : 5.0.5
Kubernetes에서 6개의 Pod로 Redis Cluster를 구축
Statefulset을 통해서 Redis-cluster 배포
Redis Pod중 일부가 재시작되면서, Redis의 NodeID는 같지만, IP가 변경됨
Redis Cluster는 깨지지 않음.
Lettuce에서는 Redis Pod의 이전IP를 사용하여 연결을 시도함.
[예상되는 동작]
노드의 IP가 변경되면, 변경된IP를 Catch 하여 새로운 IP로 통신을 시도하길 원함.
[해결방안]
RedisClusterNode에서 equal 메소드를 수정하여, URI뿐만아니라, IP도 확인하도록 수정.
https://github.com/lettuce-io/lettuce-core/issues/1909
https://github.com/lettuce-io/lettuce-core/pull/1910/files
수정해야 하는 부분
반응형