Is it possible to have a "No Redis" Nuxeo cluster ?
I use :
- Nuxeo 10.10 (LTS 2019)
- PostgreSQL 11.X
- ElasticSearch 6.5.X
I plan to deploy a HA Nuxeo Cluster**. If i use
org.nuxeo.ecm.core.storage.sql.kv.SQLKeyValueStore according to https://jira.nuxeo.com/browse/NXP-25604 , do i need Redis ?
What i understood (reading the documentation), if i use “SQLKeyValueStore” i didn't need Redis, but i have to use Kafka. Is it right ?
Thank you for your help.
Indeed this page is not up to date (we'll update it) and as you correctly found out
SQLKeyValueStore can be used for the key/value store. And actually it is automatically used if you don't specify
nuxeo.keyvalue.provider=mongodb (done by default by the
mongodb template) or
nuxeo.keyvalue.provider=redis (done by default by the
Note that in a cluster setting you also need a pub/sub provider, which can be either Redis or Stream. If you use the
redis template then the default is
nuxeo.pubsub.provider=redis, otherwise if you specify
nuxeo.pubsub.provider=stream a Stream-based implementation will be used; specify
kafka.enabled=true for the Kafka implementation otherwise the default will be Chronicle Queue which is not cluster-aware (streams aren't shared between nodes). If you don't specify any
nuxeo.pubsub.provider then you'll get a memory-based one which isn't cluster-aware either, nor is it resilient to server restarts.
Does Nuxeo have recommendations between Redis and Kafka in a clustered architecture? I have read https://doc.nuxeo.com/1010/nxdoc/kafka/ but i can't find any comparaison between Redis and Kafka : deployment, administration, scalability.
Thank you again.
In the documentation we can read "there is only one alternative for this service and it requires to use MongoDB"
But if i use the SQLKeyValueStore, maybe i didn't need MongoDB.