Architecture Description
This is a compact architecture because it includes a single Kafka node running in standalone mode (KRaft), so there is no separate coordination service to deploy.
In this architecture:
- A load balancer with sticky sessions is used.
- A total of two machines are prepared for the application cluster. Each machine holds a Nuxeo server node and a reverse proxy. More machines can be added later for scalability purpose.
- A search engine cluster (OpenSearch, Elasticsearch, or MongoDB Atlas Search) is highly recommended for scalable and performant search, though Nuxeo can also rely on repository search only.
- A database cluster with at least 2 nodes.
- A Kafka node as the default implementation for Nuxeo Stream.
Limitations
- Kafka is the single point of failure. In case of failure, scheduled jobs might be lost. To solve this issue, several Kafka nodes are needed, as well as Zookeeper.
→ Jump to the Distributed architecture with Kafka to provide a full high availability and fault tolerant Nuxeo architecture.