Server

Compact Architecture with Kafka

Updated: March 18, 2024

Architecture Description

This is a compact architecture because it includes a single node for Kafka, so you don't need to deploy Zookeeper to keep track of status of the Kafka cluster nodes, Kafka topics, partitions etc.

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.
  • An Elasticsearch cluster with at least 3 nodes
  • A database cluster with at least 2 nodes
  • A Kafka node as the default implementation for Nuxeo Stream

compact-with-kafka-1.png
compact-with-kafka-1.png

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.