Scaling out workflow

Requirements

To scale out your composition, you need the following:

  • An existing instance where you develop content. We will refer to this as the primary instance.

  • Several separate servers where you scale out composition

Preparation

  1. On each composition server, manually install a Contract Manager and a secondary Communications Manager instance. Make sure that the added Contract Manager has the same contract as the primary instance and that it is configured identically. Register the secondary instance on its local Contract Manager.

    Do not use Install.exe. Install all components manually using the following tools:

    For each secondary instance that you start, set the Instance!DatabaseMode parameter to Existing and specify the same Registration!Partner and Registration!Customer as you did on the first run.

  2. For each project that you want to scale out, create at least one snapshot. Note that all modifications on the database are done through the primary instance. Since the database is shared, this automatically affects all secondary instances.

  3. Invoke composition on a selected snapshot through the CCMSnapshotComposition contract type. This composition can be invoked on any of the instances that share the repository database. There is no load balancing support out of the box, therefore you need to implement it manually in your application. For more information, refer to the CCMSnapshotComposition contract type topic in the Tungsten Communications Manager API Guide.

Activate snapshot in runtime

  1. In Control Center, navigate to the primary instance.

  2. Select the project for which you want to activate a snapshot.

  3. Select the snapshot to activate and activate it.

    This action immediately affects the GetActiveSnapshotV1 SOAP call and all other CCMSnapshotComposition interface calls that refer to the active snapshot..

Alternatively, you can use the ActivateSnapshot.exe and DeactivateSnapshot.exe tools on the primary instance to activate and deactivate snapshots from the command line.