Skip to main content

High Availability Setup


Getting Started

This document assumes you have installed Simflofy, Tomcat, Java, MongoDB, and, if needed, Elasticsearch.

To set up base Simflofy, start here.
Simflofy - Getting Started

For MongoDB High Availability, refer to these documents for your specific version.
Replica Set High Availability

For Elasticsearch High Availability refer to this document.
Set up a cluster for high availability


Simflofy Admin High Availability Setup

Setting up the Simflofy-admin webapp for High Availability requires just two property changes in the simflofy-global.properties located at:

\tomcat\webapps\simflofy-admin\WEB-INF\classes

  1. Change the Simflofy server mode from SINGLETON to DISTRIBUTED like the following:

simflofy.server.mode=DISTRIBUTED

  1. Make your Simflofy servers job runners with the following setting:

simplify.server.job.runner=true

If you just want one Simflofy as the admin UI, but not running jobs, then you could have that server set the job runner status to false and any other servers to true.

If a server goes down, then the job it was processing will time out and fail. You will then need to restart that job on another Simflofy node.

You will notice a slight delay in starting jobs now, as servers will now take the jobs in a queue, which can take a few seconds.

In simflofy-global.properties you will see the following settings:

simflofy.threads.corePoolSize=2 
simflofy.threads.maxPoolSize=5

These settings control how many concurrent jobs and bulk downloads you can run simultaneously.

Core Pool Size is the number of active job threads at any given time. If you run a lot of polling jobs or event jobs, you want this number to be larger than the number of jobs you keep active.

Max Pool Size is the total number of concurrent jobs you can run at any given time. Again, you want this number to be greater than the number of jobs you plan to run at the same time. However, if you are doing large migrations, take care not to run too many jobs and overload your system. You'll need to pay attention to JVM memory usage and CPU usage on the Simflofy server. Add more servers when either of those numbers is consistently over 80%.