복붙노트

[REDIS] 어떻게 ServiceStack PooledRedisClientManager 장애 조치 작동합니까?

REDIS

어떻게 ServiceStack PooledRedisClientManager 장애 조치 작동합니까?

힘내에 메시지를 커밋에 따르면, ServiceStack는 최근 지원 장애 조치를 추가했다. 나는 처음에이 내가 아래로 내 레디 스 인스턴스 중 하나를 당길 수 있고, 내 풀링 된 고객 관리자 우아하게 장애 조치를 처리 할 것입니다 내 대체 레디 스 인스턴스 중 하나에 연결을 시도 할 것을 의미 가정. 불행하게도, 내 코드 그냥 버그는 초기 레디 스 인스턴스와 연결할 수 없음을 말한다.

나는 현재 마스터가 다운되면 자동으로 마스터 슬레이브을 촉진하기 위해 설정 파수꾼으로, 6380에서 포트 6379에서 마스터와 슬레이브로, 윈도우에 레디 스 2.6.12의 인스턴스를 실행하고 있습니다. 나는 현재이처럼 내 클라이언트 관리자를 인스턴스화하고 있습니다 :

PooledRedisClientManager pooledClientManager =
    new PooledRedisClientManager(new string[1] { "localhost:6379"},
        new string[1] {"localhost:6380"});

첫번째 배열 (마스터의) 호스트 판독 - 기록되고, 제 2 어레이는 읽기 전용 호스트 (슬레이브 용) 여기서.

I 포트 6379에서 마스터를 종료하면, 센티넬은 마스터 슬레이브를 촉진한다. 내가 대신 포트 6380로 장애의 내 C # 코드를 실행하려고하면 지금, 단순히 휴식 및 반환 오류가 ": 6379 로컬 호스트에서 인스턴스 레디 스에 연결할 수 없습니다."

이 주위에 방법이 있나요, 아니면 내가 그것을 원하는 방식으로 작동 단순히 장애 조치되지 않습니다?

해결법

  1. ==============================

    1.PooledRedisClientManager.FailoverTo는 읽기 전용 호스트 대, 읽기 / 쓰기 호스트, 그리고 공장을 다시 시작하는 재설정 할 수 있습니다. 이것은 클라이언트를 다시 할 필요없이 빠른 전환을 할 수 있습니다.

    PooledRedisClientManager.FailoverTo는 읽기 전용 호스트 대, 읽기 / 쓰기 호스트, 그리고 공장을 다시 시작하는 재설정 할 수 있습니다. 이것은 클라이언트를 다시 할 필요없이 빠른 전환을 할 수 있습니다.

  2. from https://stackoverflow.com/questions/17437351/how-does-servicestack-pooledredisclientmanager-failover-work by cc-by-sa and MIT license