How to Ensure xDM Never Goes Down

Problem

What should Semarchy customers do to ensure that xDM is always available? This is particularly important for Semarchy xDM users who have a business requirement to have near real-time processing of data. 

This is a two-fold problem.

1. High availability for end-users

How can we ensure that the data is always available for data integration jobs and web services to consume master data as well as available for end users to browse in the data steward application?

2. High availability for processing batches 

How can we ensure that the batch poller is always available to pick up a new job for processing data in xDM?

Solution


1. High availability for end-users

Using load balancer can achieve this requirement. One active application server will handling processing the jobs and multiple passive application servers behind a load balancer will handle serving the data to end users and integration applications. If one of the application servers dies, the load balancer is responsible for distributing the request to a working server to answer the request.

In a clustered Semarchy xDM environment there will be 1 instance of semarchy.war and N instances of semarchy-passive.war deployed. The one instance of semarchy.war is the active instance.

See this documentation for more information on the Reference Architecture for High-Availability:

https://www.semarchy.com/doc/semarchy-xdm/semng.html#high-availability-configuration


2. High availability for processing batches 

The HTTP load balancer can only address the requirement front-end for users and applications. Semarchy xDM does not include a built-in configuration to address high availability for xDM's scheduler component.

The Semarchy customer should use a monitoring solution that checks for the health of the one active server and takes action if the active server is down so it doesn't need an administrator to manually restart the xDM application or application server.

This monitoring solution can exist in multiple forms from a DIY application to enterprise-grade software application.

Enterprise Monitoring Software

Some corporate customers use an internal monitoring service, such as New Relic, AppDynamics, Ruxit and others.