Running multiple workflow engine processes for an Product Master instance across a cluster

You can run multiple workflow engine processes across the cluster where the Product Master instance is running. This is similar to running multiple instances of other processes like Appserver or Scheduler. More than one workflow engine processes run on different servers that are part of the cluster running the Product Master instance and share the load of items that are moving through workflows or collaboration areas in that instance.

Procedure

  1. Shut down Product Master by using the following command.

    $TOP/bin/go/abort_local.sh

  2. Go to $TOP and extract bundles.zip file. Locale files in the en_US folder get replaced by the new files.
    Note: The directory structure is bundles/locales/en_US/system_resource_bundle with layout.xml file in the en_US directory, and other files in system_resource bundle folder.
  3. Go to the CCD_CONFIG_DIR folder and open env_settings.ini file for each server in the cluster.
    Important: By default, the env_settings.ini file is under $TOP/bin/conf folder. You will have a env_settings.ini file for each server in your cluster. These env_settings.ini files need to be stored at user specified location specified through environment variable CCD_CONFIG_DIR.
  4. Locate the [services] section and depending on your setup, add new services with a unique name that is separated by a comma.
    Example

    workflow=workflow01,workflow02

  5. Copy the hazelcast.xml file to $TOP/bin folder.
  6. Edit the hazelcast.xml to set values for the multicast or TCP-IP section by adding following.
    
    <multicast enabled="false">
    </multicast>
    <tcp-ip enabled="true">
        <member>machine1 ip</member>
        <member>machine2 ip</member>
    </tcp-ip>

    Where, replace the machine1 ip and machine2 ip with values for your setup, and add any other workstations in your cluster.

  7. Run $TOP/bin/configEnv.sh script on each workstation.
  8. Start Product Master instance on each workstation by using the following command on your primary workstation in the cluster.

    $TOP/bin/go/start_local_rmlogs.sh

  9. Run $TOP/bin/go/start_local.sh script on other workstations.