Я использую StackExchange.Redis
, чтобы поговорить с 3 разными экземплярами Redis: 1 в той же подсети и 2 удаленно. Вот мой код конфигурации:
var configurationOptions = new ConfigurationOptions
{
EndPoints =
{
{ host, port }
},
KeepAlive = 180,
Password = password,
DefaultVersion = new Version("2.8.5"),
// Needed for cache clear
AllowAdmin = true
};
var connectionMultiplexer = ConnectionMultiplexer.Connect(configurationOptions );
последняя строка вызывает исключение соединения примерно 70% времени:
Не удалось подключиться к серверам redis; для создания отключенного мультиплексора отключите AbortOnConnectFail
Почему это прерывистое и/или что я делаю неправильно? Когда я пингу сервера Redis в командной строке, есть 0% потери пакетов и ответ < 1 мс. Сеть стабильна.
Спасибо!
ИЗМЕНИТЬ
Вот что выдает журнал, когда он терпит неудачу:
10.48.68.28:6379,keepAlive=180,version=2.8.5
1 unique nodes specified
Requesting tie-break from 10.48.68.28:6379 > __Booksleeve_TieBreak...
Allowing endpoints 00:00:01 to respond...
10.48.68.28:6379 did not respond
10.48.68.28:6379 failed to nominate (WaitingForActivation)
No masters detected
10.48.68.28:6379: Standalone v2.8.5, master; keep-alive: 00:03:00; int: Connecting; sub: ConnectedEstablished, 1 active; not in use: DidNotRespond
10.48.68.28:6379: int ops=0, qu=4, qs=0, qc=0, wr=0, socks=1; sub ops=2, qu=0, qs=0, qc=0, wr=0, subs=1, sync=2, socks=1
Circular op-count snapshot; int: 0 (0.00 ops/s; spans 10s); sub: 0+2=2 (0.20 ops/s; spans 10s)
Sync timeouts: 0; fire and forget: 0; last heartbeat: -1s ago
Starting heartbeat...