IT Knowledge/기타
RedisClusterNode, Redis Node IP 변경 검증 이슈
Seok.
2021. 12. 27. 20:55
반응형
[이슈 현상]
Redis Cluster의 Node IP가 변경되어도, RoundRobinSocketAddressSupplier는 변경된 Node IP로 새로고침을 하지 않고, 이전의 IP로 계속 연결을 시도합니다.
[환경]
Lettuce 버전 : 5.1.8 버전~6.1.5.RELEASE
Redis 버전 : 5.0.5~6.2.6
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
반응형