- Administration >
- High Availability >
- Configure a Highly Available MMS Application Server
Configure a Highly Available MMS Application Server¶
On this page
Overview¶
The On-Prem MMS Application Server provides high availability through horizontal scaling and through use of a replica set for the backing MongoDB instance that hosts the MMS Application Database.
Horizontal Scaling¶
The MMS Application Servers are stateless between requests. Any server can handle requests as long as all the servers read from the same backing MongoDB instance. If one Application Server becomes unavailable, another fills requests.
To take advantage of this for high availability, configure a load balancer
to balance between the pool of MMS Application Servers. Use the load
balancer of your choice. Configure each Application Server’s
conf-mms.properties
file to point its mms.centralUrl
property to
the load balancer.
The mms.remoteIp.header
property should reflect the HTTP header
set by the load balancer that contains the original client’s IP address,
i.e. X-Forwarded-For
. The load balancer then manages the MMS
HTTP Service and Backup HTTP Service each Application Server provides.
Replica Set for the Backing Instance¶
Deploy a replica set rather than a standalone as the backing MongoDB instance for monitoring. Replica sets have automatic failover if the primary becomes unavailable.
When deploying a replica set with members in multiple facilities, ensure that a single facility has enough votes to elect a primary if needed. Choose the facility that hosts the core application systems. Place a majority of voting members and all the members that can become primary in this facility. Otherwise, network partitions could prevent the set from being able to form a majority. For details on how replica sets elect primaries, see Replica Set Elections.
To deploy a replica set, see Deploy a Replica Set.
You can create backups of the replica set using file system snapshots. File system snapshots use system-level tools to create copies of the device that holds replica set’s data files.
Prerequisites¶
Deploy a replica set for the backing instance for the MMS Application Database. To deploy a replica set, see Deploy a Replica Set.
Procedure¶
To configure multiple Application Servers with load balancing:
Configure a load balancer with the pool of MMS Application Servers.¶
This configuration depends on the general configuration of your load balancer and environment.
Update each MMS Application Server with the load balanced URL.¶
On each Application Server, edit the conf-mms.properties
file to
configure the mms.centralUrl
property to point to the load balancer URL.
The conf-mms.properties
file is located in the
<install_dir>/conf/
directory.
Update each MMS Application Server with the replication hosts information.¶
On each Application Server, edit the conf-mms.properties
file to
define the replication hosts used as the backing MongoDB instances.
Set the mongo.mongoUri
property to the connection
string of the backing instance used
for monitoring data. For example:
You must specify at least 3 hosts in the
mongo.mongoUri
connection string.
Synchronize the gen.key
file across all the MMS Application Servers.¶
Synchronize the /etc/mongodb-mms/gen.key
file across all Application
Servers. The MMS Application Server uses this file to
encrypt sensitive information before storing the data in a database.
Additional Information¶
For information on making MMS Backup highly available, see Configure a Highly Available MMS Backup Service.