Skip to main content

Create a Load Balanced Environment

In Certent CDM, you can balance application requests across multiple servers to improve server utilization and availability.

Before you install and configure load balancing, it is important to understand the network topology that it requires. The following diagram illustrates the high-level technical architecture of load balancing.

Load Balancing Topology

Configure Load Balancing

Ensure that CDM is not installed on any of the target application servers, and that no database exists on the target database server. The load balancer should be configured to have an idle timeout of 31 minutes or longer.

  1. Install CDM on application server A and ensure to select the Database scripts checkbox in the Custom Setup window in the installation wizard.
  2. Install CDM on application server B and clear the Database scripts checkbox. Use the same database name and master key as you did when installing application server A.
  3. Install CDM on application server C and clear the Database scripts checkbox. Use the same database name and master key as you did when installing application server A.
  4. Disable the inMemory cache. In the CDM.config file (default location is C:\inetpub\wwwroot\CertentCDM-Server\Config), find the following section:
    <cacheZones> <add name="RefreshCache" enabled="true" inMemoryStore="RefreshMemoryStore" persistentStore="PersistentStore" scavenger="RefreshScavenger"/> <add name="ImportCache" enabled="true" inMemoryStore="ImportMemoryStore" persistentStore="PersistentStore" scavenger="ImportScavenger"/> <add name="DimensionalAnalysis" enabled="true" inMemoryStore=DimensionalAnalysisMemoryStore persistentStore="PersistentStore" scavenger="DimensionalAnalysisScavenger" /> <add name="TaggingService" enabled="true" inMemoryStore="TaggingServiceMemoryStore" persistentStore="PersistentStore" scavenger="TaggingServiceScavenger" /> <add name="VisualizationService" enabled="true" inMemoryStore="VisualizationMemoryStore" persistentStore="PersistentStore" scavenger="VisualizationScavenger" /> </cacheZones>

    Remove the value for the inMemoryStore attribute from each element. Your result should look like the following:

    <cacheZones> <add name="RefreshCache" enabled="true" inMemoryStore="" persistentStore="PersistentStore" scavenger="RefreshScavenger" /> <add name="ImportCache" enabled="true" inMemoryStore="" persistentStore="PersistentStore" scavenger="ImportScavenger" /> <add name="DimensionalAnalysis" enabled="true" inMemoryStore="" persistentStore="PersistentStore" scavenger="DimensionalAnalysisScavenger" /> <add name="TaggingService" enabled="true" inMemoryStore="" persistentStore="PersistentStore" scavenger="TaggingServiceScavenger" /> <add name="VisualizationService" enabled="true" inMemoryStore="" persistentStore="PersistentStore" scavenger="VisualizationScavenger" /> </cacheZones>
  5. Since the inMemory cache is turned off, CDM will need to access the database directly. Ensure the account that CDM is using to connect to the database server has permission to access stored procedures. This requires that the SQL user has the db_owner permission.
  6. Increase instance generation timeout. In the System.ServiceModel.Bindings.config file (default location is C:\inetpub\wwwroot\CertentCDM-Server\Config), find the following section:
    <binding name="CdmWsHttpBindingForLargeData" maxBufferPoolSize="1073741824" maxReceivedMessageSize="1073741824" messageEncoding="Text"textEncoding="utf-8" > <readerQuotas maxDepth="68" maxStringContentLength="524288000" maxArrayLength="1073741824" maxBytesPerRead="10485760" maxNameTableCharCount="16384"></readerQuotas> <security mode="Transport"><transport clientCredentialType="None" proxyCredentialType="None" realm=""></transport></security>
    </binding>

    Add the sendTimeout and receiveTimeout attributes to match the idle timeout of the load balancer.

    <binding name="CdmWsHttpBindingForLargeData" maxBufferPoolSize="1073741824" maxReceivedMessageSize="1073741824" messageEncoding="Text" textEncoding="utf-8" sendTimeout="00:31:00" receiveTimeout="00:31:00"> <readerQuotas maxDepth="68" maxStringContentLength="524288000" maxArrayLength="1073741824" maxBytesPerRead="10485760" maxNameTableCharCount="16384"></readerQuotas> <security mode="Transport"><transport clientCredentialType="None" proxyCredentialType="None" realm=""></transport></security> </binding>

Install Updates in a Load Balancing Environment

In your load balancing environment, you can install Certent CDM updates to your application servers.

Apply a Single Update

Updates can be applied sequentially to each application server.

  1. Install update on application server A.
  2. Install update on application server B.
  3. Install update on application server C.

Apply an Update Requiring an Intermediary Update

If the application servers are currently on Version 1 and they need to be upgraded to Version 3, which requires an intermediary upgrade to Version 2, take these steps:

  1. Upgrade application server A to version 2.
  2. Upgrade application server B to version 2.
  3. Upgrade application server C to version 2.
  4. Upgrade application server A to version 3.
  5. Upgrade application server B to version 3.
  6. Upgrade application server C to version 3.

Create a Load Balancing Environment with a Preexisting Database

In Certent CDM, you can create a load balancing environment with a preexisting database.

If a CDM database exists before you decide to create a load balancing environment, either from a FSR migration, or from a non-load balanced installation of CDM, you must perform these steps:

  1. Ensure that the existing database is at the target version of the new load balanced system and apply any necessary updates.
  2. Back up the existing database and delete it from the server.
  3. Install CDM general release on application server A and use the same database name and master key as the existing database from step 1.
  4. Install CDM general release on application server B. Ensure you disable database scripts when installing and use the same database name and master key as when you installed application server A.
  5. Install CDM general release on application server C. Ensure you disable database scripts when installing and use the same database name and master key as when you installed application server A.
  6. Apply any updates to bring the version number of the new system in line with the existing system.
  7. Delete the database that was created as part of the installation on application server A.
  8. Restore the existing database.

Was this article helpful?

We're sorry to hear that.