2017-09-07 4 views
1

이와 비슷한 다른 질문이 있지만 맨손으로 뼈까지 이것을 종결 짓고 싶었습니다.ServiceStack.Redis Sentinel 간단한 설정, "사용할 수있는 Redis Sentinels 없음"

.NET 응용 프로그램 (C#)을 실행 중이고 감시 포트 (3x 감시 모니터 마스터 1 개와 슬레이브 2 개)를 실행하는 redis 서버 그룹에 연결하고 모니터하려고합니다. 그들은 linux 상자에 있습니다.

나는 그 서버를 하드 코딩하면 세의 마스터에게 쓰기/읽기 위해 ServiceStack.Redis을 사용할 수 있습니다. 내가하고 싶은 일은 감시자가 동적으로 읽기/쓰기를 만드는 마스터인지 감시하는 것입니다.

var sentinelHosts = new[]{ "server01Name", "server02Name", "server03Name" }; 
var sentinel = new RedisSentinel(sentinelHosts, masterName: "mymaster");; 

IRedisClientsManager redisManager = sentinel.Start(); 

이것은 No Redis Sentinels were available을 말한다 예외가 발생합니다 :

여기 내 코드입니다.

나는 아주 간단한 것을 놓치고있을 것이라고 확신하지만, 이것에 대해서는 견디지 못합니다.

redis 버전 4.0.1 및 ServiceStack.Redis 버전 4.5.14.0을 실행 중입니다.

감사합니다.

답변

1

예, 매우 간단합니다. masterName은 센티넬 설치 서버 측의 마스터 이름과 일치해야합니다.