About clustering

February 2, 2022

Deploying Jahia in a cluster is an effective way of distributing CPU and memory load to handle larger traffic sites. The image below illustrates a typical Jahia cluster installation. Jahia nodes communicate with each other through cache and database layers, but also access shared resources: a shared file system and the database. The file system is used for the binary content if the server is configured to store it there, or in the database if the default configuration is used. The database stores everything else. It is therefore very important to have a high-performance database installation, as Jahia will depend on it to scale. Jahia can also differentiate nodes in a cluster setup in order to offer more specialized processing. We will review here quickly the different node types.

Visitors nodes

Visitors nodes are specialized Jahia nodes that only serve as content publishing nodes. They also interact with portlets or application modules to render pages and input user generated content. This node specialization allows the separation of visitors load from authoring and background processing loads.

Authoring nodes

Authoring nodes are cluster nodes used to either browse or edit Jahia content. This is the most common type of node and multiple instances of authoring nodes distribute the load.

Processing node

The processing node executes long-running tasks, such as workflow validation operations, copy and pasting, content import and indexing, as background tasks. This enables other nodes to process content browsing and editing requests. This node is designed to be fault-tolerant. If the node fails during processing, it can simply be restarted and it will resume operations where it left off. Note that only one processing node is permitted

More resources on performance

As Jahia constantly strives to improve on performance, make sure to check our website for additional resources on performance, as well as our Configuration and Fine Tuning documentation and Setting up a high availability environment documentation that contain best practices of deployment and configuration to properly setup Jahia for high loads.