User Community Service Desk Downloads
If you can't find the product or version you're looking for, visit support.ataccama.com/downloads

High Availability Configuration

This section provides an overview of high availability configuration for MDM. Detailed instructions are covered in sections dedicated to particular topics.

Prerequisites and Dependencies

  • The MDM server and its dependencies are configured on each MDM node, see MDM Configuration.

  • MDM high availability setup requires an in-house load balancer/router solution.

  • The RDBMS used as MDM persistence should operate in the highly available mode too (as well as other dependencies). These configurations are independent of MDM and should be prepared in-house.

Configure the HTTP Server

The MDM HTTP Server is configured in the MDM Server application.properties (see MDM Server Application Properties).

By default, it uses one port for the HA Admin Console (HA Admin Console) and the HA REST, and another port for the HA load balancer:

Default MDM HTTP Server configuration for HA
#MDM HTTP server
ataccama.server.http.default.port=8051

#HA configuration
ataccama.one.mdm.ha.load-balancer.port=8058

Alternatively, you can configure separate ports for the HA console and HA REST using the path.exclude and path.include properties as seen in the following example:

Example of advanced MDM HTTP Server configuration for HA with separate ports
#MDM HTTP server
ataccama.server.http.default.port=8051
ataccama.server.http.default.path.exclude=/,/console/**,/api/rest/**,/ha/console/**,/ha/rest/**
ataccama.server.http.console.port=8052
ataccama.server.http.console.path.include=/,/console/**,/sso/**,/health
ataccama.server.http.rest.port=8053
ataccama.server.http.rest.path.include=/api/rest/**
ataccama.server.http.ha-console.port=8054
ataccama.server.http.ha-console.path.include=/ha/console
ataccama.server.http.ha-rest.port=8055
ataccama.server.http.ha-rest.path.include=/ha/rest

#MDM HA configuration
ataccama.one.mdm.ha.load-balancer.port=8058
ataccama.one.mdm.ha.local-target-server.name=rest

Configure High Availability Implementation

High availability implementation uses database locking (see HA Database Locking and Leadership Election) and is configured in MDM Server application.properties (MDM Server Application Properties):

Name Default Value Description

ataccama.one.mdm.ha.implementation

db

HA implementation setting. The default value selects the DB locking. Setting the value to zookeper is possible, but unsupported.

ataccama.one.mdm.ha.revoke-leadership-on-disconnect-timeout

15s

ataccama.one.mdm.ha.max-active-to-passive-switching-time

20s

ataccama.one.mdm.ha.load-balancer.port

8058

ataccama.one.mdm.ha.local-target-server.name

default

ataccama.one.mdm.ha.local-target-server.port

$\{ataccama.server.http.$\{ataccama.one.mdm.ha.local-target-server.name}.port}

ataccama.one.mdm.ha.server-name

mdm-server_1

ataccama.one.mdm.ha.allow-disconnect-button

false

Enable the Disconnect button in the HA console.

ataccama.one.mdm.ha.load-balancer.server

0.0.0.0

ataccama.one.mdm.ha.load-balancer.hostname

<assigned automatically>

Visible in the HA console. Overrides the ataccama.one.mdm.ha.server-name if defined.

ataccama.one.mdm.ha.db.name

mdc_db

HA database name.

ataccama.one.mdm.ha.db.table-prefix

ha_

Lock and HA Node table prefix.

ataccama.one.mdm.ha.db.lock-key

MDM_LEADER_INSTANCE

Key for the HA leader instance.

ataccama.one.mdm.ha.db.heartbeat.interval

5000

Interval at which the HA tables are updated.

ataccama.one.mdm.ha.db.heartbeat.expiration

30000

Interval at which expired entries are removed from the HA tables.

ataccama.one.mdm.ha.db.heartbeat.ttl

30000

Entries older than this interval are marked as expired.

ataccama.one.mdm.ha.db.election.interval

5000

Interval at which the leadership election workflow is called.

ataccama.one.mdm.ha.db.election.startup-timeout

$\{random.int(10000)}

Start delay of the leadership election workflow.

ataccama.one.mdm.ha.rw-additional-timeout

3s

ataccama.one.mdm.ha.close-additional-timeout

4s

Was this page useful?