Horizontal Scaling

PSPDFKit Server supports horizontal scaling via connecting multiple server nodes to your Postgres database.

This allows you to scale PSPDFKit Server in cloud environments like Amazon EC2 Container Service (ECS), Azure Kubernetes Service (AKS), and Google Kubernetes Engine (GKE). Deployments as a pod in a Kubernetes environment, on Docker Compose, or to Docker Swarm are also fully supported.

Whenever you start a new PSPDFKit Server node and connect it to your existing database, it will register itself with your database, and from then on, it will automatically receive and broadcast updates of all the changes made to your documents.

Configuration

Please note that all nodes have to use the same configuration. Always check docker-compose.yml to verify the configuration. Please also ensure all nodes are running the same PSPDFKit Server version.

Important: Since the local asset storage backend stores all assets within a Docker instance, it doesn’t work with the deployment of multiple nodes. Please migrate to S3 or to our built-in asset storage backend before deploying multiple nodes. See our guide on storage migration for information on how to migrate your asset storage backend.

Load Balancing

We recommend using a load balancer to distribute clients across your nodes.

Dashboard

The dashboard shows you all of the currently connected nodes, along with their IDs, PSPDFKit Server versions, IP addresses, and times of first connection.

PSPDFKit Server Dashboard

Caching

Check out the Cache guide for more information on how to improve caching in a PSPDFKit Server setup with multiple nodes.

Licensing

Your license will define the number of servers that can be used. If you have questions, please contact our sales team for details.