Configuring Activity Engine database for high-availability

The Activity Engine database supports several types of databases. For the database connection string, you must use a dynamic link, which can be either an IP address or a domain name.

All of the database information here assumes that you have successfully deployed your database system of choice in an HA configuration, ensuring that the database server itself is not a single point of failure.

The Activity Engine service supports the following database types:
  • SQL Server
  • Oracle
  • Postgres
  • MySQL

Locating of Activity Engine database configuration information

The Activity Engine nodes maintain their database configuration information in the core application database. The database connection string can either be an IP address or a domain name, but should be dynamic in case of a failure at the database layer.

Setting up connection string

The application requires you to add a DNS name or IP address for the Activity Engine database server deployed with the application. You set this connection string via the Admin Console at System > Settings > Activity Engine. This string is then stored in the core application databases. For more information on what must be persisted in the core application database during disaster recovery, see Restoring database with persistent properties.

In the event of a failover, there are specific ways which the application uses the connection string to determine which Activity Engine database server to failover to. Therefore, be especially careful when setting up the connection string as follows:

  • If a DNS name is used in the connection string (this is the preferred method), the name must resolve to an Activity Engine database server that is resolvable and reachable by the web application nodes in each respective data center (A or B).

    Using the web node names, but substituting a DNS name (activityeng-virtual.example.com) in the connection string instead of an IP address, the DNS name must resolve to the Activity Engine database server acteng01-dcA.example.com when requested by either wa01-dcA.example.com or wa02-dcA.example.com and must resolve to acteng01-dcB.example.com when requested by either of the nodes wa01-dcB.example.com or wa02-dcB.example.com.

  • If an IP address is used in the connection string, it must be a virtual IP address that points to the Activity Engine database server that's available from both data centers.

    For example, given web nodes wa01-dcA.example.com and wa02-dcA.example.com, both in the data center A and web nodes wa01-dcB.example.com and wa02-dcB.example.com in data center B, all pointing to the virtual IP address 172.16.100.2 in the Activity Engine database connection string, said IP address must resolve to the Activity Engine database server acteng01-dcA.example.com when requested by either wa01-dcA.example.com or wa02-dcA.example.com and must resolve to acteng01-dcB.example.com when requested by either of the web application nodes wa01-dcB.example.com or wa02-dcB.example.com.