1. Introduction
  2. Setting up the nodes
  3. Accessing the cluster from PHP


evQueue supports high availability clustering. In a clustered environment, all nodes are active and share the same configuration. Node use notifications to reload when configuration changes are made.

To achieve a truly high available cluster, you will also need a clustered database like MariaDB with galera cluster.

Setting up the nodes

First, you will need to install at least 2 standalone nodes. See installation, from source or from package. evQueue can support any number of nodes. You can have a look at the cluster sample configuration files.

Let's say that you have 2 nodes, named node1 and node2. Node1's IP address is and node2's is

On node1

Edit the configuration file and set the node name properly: = node1

Also set the cluster description:

cluster.nodes = tcp://,tcp://

For notifications to work, you'll need to specify a valid user with admin rights:

cluster.notify.user = notifyuser
cluster.notify.password = notifypassword

Configure nodes to listen on external IP:


On node2

Replicate the configuration, just change the node name: = node2
cluster.nodes = tcp://,tcp://
cluster.notify.user = notifyuser
cluster.notify.password = notifypassword

On both nodes

Restart evQueue engine:

user@evqueue:~# systemctl restart evqueue

On the web board

Edit the configuration file located in conf/cluster.json under the document root. Set the cluster descriptor:

				"local#bbbbbb": [

That's it, you have your cluster configured!

Accessing the cluster from PHP

We provide a PHP class to seamlessly access an evQueue cluster. Please have a look at the evQueueCluster PHP class in the sample project.