Currently Nuxeo uses Jedis 2.1 and a direct connection to a single Redis instance.
This basically means that Redis is a SPOF and that we don't provide a fail-over system.
This is not a big problem since in the current architecture Redis does not play a major role, however :
- this may change in the future
- some clients using Nuxeo may need to use Redis in HA anyway
Sentinel 2 introduce a way to manage a set of Redis nodes (1 master + slaves) and automatically monitor them and manage the failover.
Since Jedis 2.2, Jedis lib supports a JedisSentinelPool so it is possible to leverage HA Redis from the client library : this basically means that jedis is able to connect to a Sentinel nodes to fetch cluster configuration.
We need at the very least to upgrade to Redis 2.2, and may be we should go to a much more recent version.
Anyway, we need to update the RedisConfigurationDescriptor so that instead of setting a single Redis IO/Port we can define a set of Sentinel nodes.