Why Redis is mandatory for a highly available deployment

To ensure high availability in a multiple ProcessRobot Servers configuration, the use of Redis Servers is necessary.

Suppose a load balancer only configuration between ProcessRobot Servers is made (without Redis):

high availability configuration without Redis

In this configuration, high availability will not be possible (as a client-server system setup is only as available as its weakest link) - which in this case is a problem since the communication between multiple ProcessRobot Servers is not handled when not using Redis Server(s). For example, if a ProcessRobot Server fails, all information will be lost as it will not be stored in Redis.

In other words, the use of a load balancer is only responsible for achieving a scalable infrastructure (meaning that communication between client tools and ProcessRobot Servers will be managed when server capacity and network limits are reached/exceeded).

However, in order to create a high availability setup, you would need Redis servers (in a leader follower mode through replication) to ensure the integrity of ProcessRobot Servers state, and thus ensuring the uninterrupted execution of processes in case of a disaster as illustrated in this diagram:

high availability configuration with Redis server

For additional information, please refer to the article related to ProcessRobot architecture and security.