It depends on a number of cluster nodes and High Availability configuration.


Basic limitations are:

    ~ Nomad (as ABIS service manager consist of 3 server nodes) - 2 Nomad server nodes must be up and running minimally.

           > Very same situation may appear for other ABIS versions with ZooKeeper

    ~ N/2 +1 rule - At least half of the cluster nodes must be available to start the ABIS ( In the case that ABIS is stopped - after shutdown or reboot for example). It depends on the configuration, but this is a minimum requirement.

    ~ ABIS management services - There must be at least 1 of each running (Depends on the ABIS version, it may be one of each: message-processor, dispatcher, AMQ, data-service, integration-service, etc.) to keep the ABIS working.

   ~ Mirroring / Partitioning  (Applicants DB may be divided between matcher nodes.) - Mirror nodes may go down, but ALL the partitions must be available.



EXAMPLES:

~ Nomad:

Scenario 1: Cluster of 120 ABIS nodes, 3 Nomad server nodes

-120 ABIS nodes are up, 2 Nomad server nodes are down -> Entire ABIS cluster is going down (Nomad HA cluster is down: 1 of 3 servers cannot vote himself as a cluster leader)

Scenario 2:  Cluster of 120 ABIS nodes, 5 Nomad server nodes.

- 120 ABIS nodes are up, 2 Nomad server nodes are down -> ABIS cluster is working (Nomad cluster is up: 3 of 5 servers can vote cluster leader)

- 120 ABIS nodes are up, 3 Nomad server nodes are down -> ABIS cluster is NOT working (Nomad cluster is down: 2 of 5 servers cannot vote a cluster leader)

Nomad:
Nomad high-availability

ZooKeeper:
https://zookeeper.apache.org/


N/2 +1 rule:

Scenario 1: Cluster of 120 nodes was rebooted.

- All server are successfully rebooted -> ABIS cluster start to load templates

- 55 nodes remains offline -> 65 nodes of ABIS cluster start to load templates and provide service (must be allowed by a configuration)

- 65 nodes remains offline -> ABIS cluster will not start


~ ABIS management services:

Scenario 1: Cluster of 12 nodes with 1 AMQ, 1 manager and 11 matcher nodes

- Manager and AMQ services are at the same node and this node has been rebooted -> ABIS cluster stop working

Scenario 2: Cluster of 12 nodes with 3 AMQ, 3 manager and 11 matcher nodes

- 2 Manager/AMQ nodes went offline -> ABIS cluster is up (all partitions must be available)


~ Mirroring / Partitioning:

Scenario 1: Cluster of 12 nodes, 1 mirror, 12 partitions: 1 partition per node. (No HA cluster) 

- 1 node went down -> ABIS cluster stop working (DB is not complete because 1 partition is not available)

Scenario 2: Cluster of 12 nodes, 2 mirrors, 6 partitions: 1 partition mirrored at 2 nodes.

- 6 nodes went down (nodes are at the same mirror) -> ABIS is working with 1 mirror (all 6 partitions are up).

Scenario 3: Cluster of 6 nodes, 3 mirrors, 2 partitions: 1 partition mirrored at 3 nodes.

- 4 nodes went down -> ABIS is working with 1 mirror (all 2 partitions are up). Example:

initial state:

Server name

AMQ

Manager

Extractor

Dispatcher

Matcher


Node 1

ACTIVE

ACTIVE

ACTIVE

ACTIVE

PARTITION 1

MIRROR 1

Node 2


BACKUP

BACKUP

BACKUP

PARTITION 2

MIRROR 1

Node 3

BACKUP




PARTITION 1

MIRROR 2
Node 4




PARTITION 2
MIRROR 2
Node 5



PARTITION 1
MIRROR 3
Node 6
BACKUP
BACKUP
BACKUPBACKUP
PARTITION 2
MIRROR 3



4 nodes down in 2 mirrors. DB is complete in 1 mirror (all partitions [PARTITION 1 and PARTITION 2] are available ). ABIS is working if configured properly:

Server name

AMQ

Manager

Extractor

Dispatcher

Matcher


Node 1

ACTIVE

ACTIVE

ACTIVE

ACTIVE

PARTITION 1

MIRROR 1

Node 2


BACKUP

BACKUP

BACKUP

PARTITION 2

MIRROR 1

Node 3

GONE




GONE1

GONE 2
Node 4




GONE2
GONE 2
Node 5



GONE1
GONE 3
Node 6
GONE
GONE
GONEGONE
GONE 2
GONE 3


3 partitions example:




Fully operational ABIS Cluster (All partitions up (3), two full database mirrors)

Functional HA

Non-functional HA (missing database partitions)


ABIS 8 Documentation: https://abis.innovatrics.com/public/docu/index.html


Relevant ABIS version: Any