All components are installed in all servers but they are not necessarily activated, because special configuration is done.
In order to have high availability on the services, it’s important to maintain the rule N/2+1 rule, which means that more than half of the servers must be up, in order to provide service.
In this case, considering N = 3 ABIS node servers, you HA will work as long as more than the half of the servers is up, applying the formula, it’s required a minimum of 2 servers to keep operations up.
Let's assume this is the cluster configuration:
Server name | AMQ | Manager | Extractor | Dispatcher | Matcher |
Node 1 | ACTIVE | ACTIVE | ACTIVE | ACTIVE | ACTIVE |
Node 2 | BACKUP | BACKUP | BACKUP | ACTIVE | |
Node 3 | BACKUP | ACTIVE |
So the HA scenarios, keeping minimum 2 servers alive, (and all the template partitions at least in two servers) could be:
Server 001 goes down
Server name
AMQ
Manager
Extractor
Dispatcher
Matcher
Node 1
GONE
GONE
GONE
GONE
GONE
Node 2
ACTIVE
ACTIVE
ACTIVE
ACTIVE
Node 3
ACTIVE
ACTIVE
Server 002 goes down
Server name
AMQ
Manager
Extractor
Dispatcher
Matcher
Node 1
ACTIVE
ACTIVE
ACTIVE
ACTIVE
ACTIVE
Node 2
GONE
GONE
GONE
GONE
Node 3
BACKUP
ACTIVE
Server 003 goes down
Server name
AMQ
Manager
Extractor
Dispatcher
Matcher
Node 1
ACTIVE
ACTIVE
ACTIVE
ACTIVE
ACTIVE
Node 2
BACKUP
BACKUP
BACKUP
ACTIVE
Node 3
GONE
GONE
As you can see, all the combinations following the N/2+1 rule, allows the system to continue operational, but if more than one server is down, then it would not be possible to maintain in memory not only the services but neither the three template partitions in memory; as the whole applicant database is to be split into three partitions, to have a mirror factor 2 (two entire copies of the applicant’s templates distributed in three partitions across the ABIS’ cluster nodes) as follows:
The ABIS database is partitioned, on this case, 3 partitions, as follows:
Fully operational ABIS Cluster (All partitions up, two full database mirrors) | |
Functional HA | Non-functional HA (missing database partitions) |