2017-10-05 9 views
0

ioredis (https://github.com/luin/ioredis)로 redis 클러스터에 연결할 때 노드 하나만 지정하면됩니다. 세 노드 클러스터로초기 연결에서 클러스터 노드가 종료되면 ioredis 클라이언트를 계속 사용할 수 있습니까?

127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002

당신은 간단하게 사용하여 연결할 수 있습니다

new Redis.Cluster([{ 
    port: 7000, 
    host: '127.0.0.1' 
}]) 

을하는 경우 : 7000 노드가 죽으면 다음과 같이 다른 노드로 바꾸십시오.

redis-trib.rb call 127.0.0.1:7001 cluster forget [node_id of :7000] 
redis-trib.rb add-node 127.0.0.1:7003 127.0.0.1:7001 
redis-trib.rb fix 127.0.0.1:7001 

다음과 같은 작업을 계속할 수 있습니까? 00이 분실 된 경우) 127.0.0.1:7000에 다시 연락 할 수 있어야합니까? 그렇지 않으면 초기 연결에만 해당할까요?

내 실험에서이 시나리오가 작동하고 내 질문에 대한 대답이 '예'인 것처럼 보이지만 이것이 예상되고 지원되는 상황인지 확인하고 싶습니다.

답변

1

클러스터에 연결할 때, ioredis는 클러스터의 노드 목록을 7000에게 묻고 나면 ioredis가 새 노드를 검색하고 장애 조치를 처리 할 수 ​​있습니다. 따라서, : 7000이 인 경우 다음에 노드 목록을 가져 오는 경우 대답은 '예'입니다.