I used Twemproxy 0.3.0 with redis 2.8 of the following configurations.
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
I assume that if server01 pops up or fails to respond to server_failure_limit, then twemproxy emits (removes) server01 from the alpha pool and works with sequential hashing for the remaining servers02 and server03.
As a result, my expectation is broken.
Twemproxy did not delete the automatically broken server (server01).
So, my python test client program encountered a "Connection refused" error in the loop.
Is my expectation true? If not, how can I solve this problem?
source
share