Я использую Twemproxy 0.3.0 с Redis 2.8 в следующих конфигурациях.
alpha:
listen: 10.3.0.71:22121
hash: fnv1a_64
distribution: ketama
auto_eject_hosts: true
redis: true
server_retry_timeout: 2000
server_failure_limit: 2
server_connections: 300
servers:
- xxx.0.0.1:6379:1 server01
- xxx.0.0.2:6380:1 server02
- xxx.0.0.3:6381:1 server03
Я предполагаю, что если server01 дает сбой или не отвечает через server_failure_limit, тогда twemproxy извлекает (удаляет) server01 из альфа-пула и работает с последовательным хэшированием для оставшихся server02 и server03.
В результате мои ожидания не оправдались.
Twemproxy не извлекал автоматически сбойный сервер (server01).
Итак, моя тестовая клиентская программа python столкнулась с ошибкой «Отказ в соединении» в цикле.
Верны ли мои ожидания? Если нет, то как я могу решить эту проблему?