Redis and HA
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
Redis 2.8, Sentinel 2 and Jedis 2.2+
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.
Nuxeo Integration
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.
- is required by
-
NXP-17047 integrate redis sentinel in default templates
- Resolved
1.
|
Make Redis Workmanager implementation pluggable | Resolved | Stéphane Lacoin | |
2.
|
Upgrade Jedis lib | Resolved | Julien Carsique | |
3.
|
Ensure proper fallback if Redis is not available | Resolved | Stéphane Lacoin | |
4.
|
integrate sentinel pool in redis connector | Resolved | Stéphane Lacoin | |
5.
|
integrate nosql unit in redis test features | Resolved | Stéphane Lacoin | |
6.
|
Backport Redis dev on 5.8 | Resolved | Stéphane Lacoin |