Fault-Tolerance with FTL Stores
As a storage mechanism, a cluster of coordinating FTL servers provides data persistence and replication features that support Shared State fault-tolerance in EMS. The FTL server cluster must be formed of 3 constituent FTL servers in order to support EMS fault-tolerance with FTL stores. A single FTL server can only be configured to run a standalone EMS server with FTL stores.

Each of the three FTL servers in the cluster has its own EMS server running under it. One of those three EMS servers is configured as standby_only
, meaning that it will always remain in the fault-tolerant standby state and can never transition to the active state. This server's only purpose is to perform data replication and provide redundancy. The other two EMS servers comprise the actual fault-tolerant EMS server pair. One of these is chosen by the cluster to enter the active state and the other becomes its fault-tolerant peer in standby state.
A client making a fault-tolerant connection to these EMS servers would specify only the URLs of the fault-tolerant EMS server pair. The URL of the standby_only
EMS server should not be used since that EMS server will never activate.
The fault-tolerant EMS server pair makes use of the connections between the FTL servers in the cluster for fault-tolerance related communication. This means that the specifics of fault-tolerance are handled by the FTL server cluster rather than the EMS servers themselves. The majority of EMS server parameters and options relating to configuration of fault-tolerance are not applicable when using FTL stores.
To provide data redundancy, the persistence capabilities of FTL are leveraged to consistently replicate FTL store data to at least a majority of EMS servers running within the FTL server cluster. By default, the FTL store data replicated to each server is also persisted on disk to provide an additional layer of redundancy (See Persistence with FTL Stores). In most fault-tolerant failover scenarios, the standby EMS server already has the required store data in memory and is able to activate with minimal recovery time.
When using FTL stores, the EMS server configuration is stored in the FTL server cluster. This allows the configuration to be accessible to EMS servers running in separate machines or containers. Static configuration elements including JAAS modules, JAAS module configuration files, JACI modules and digital certificates are not stored in the cluster and must still be maintained manually.