Deploying message flows for High Availability

Use this information to set up and deploy message flows for high availability in your App Connect for Manufacturing environment.

Before you begin

Ensure the following before you run high availability in your environment:
  • Use the same MQTT broker in your control flow and node.conf yaml file.
  • The MQTT broker must be up and running before you start the integration servers.
  • The OPC servers must be up and running before you start the integration servers.
  • If the MQTT broker is disconnected, the passive server must be restarted.
  • All the flows must be deployed on all the integration servers in a stand-alone mode before you start the servers. Partial flow deployments might result in failure.

Procedure

  1. Develop the control flow with MQTTSubscribe and MQTTPublish node.
  2. Make sure to have the same Topic name but different Client ID for MQTTSubscribe and MQTTPublish node in all integration servers integration servers used.
  3. Add the following lines in content text area of node.conf.yaml file.
    1. Navigate to the folder where the node.conf.yaml file is.
    2. Open the file in edit mode, by using the following command:

      For example,

      Windows

      Right-click the node.conf.yaml file, and select to Edit in text mode.

      LinuxUnix
      vi /var/mqsi/components/<node-name>/node.conf.yaml
    3. Add the following HA properties in the node.conf.yaml file on all the integration servers.
      • isHA=true
      • mqttHostName=<MQTT broker host>
      • mqttPort=<MQTT broker port>

      For example,

      Windows
      ConnectorProviders:
        ACMfg:
          connectorClassName: 'com.ibm.industrypack.industryclient.connector.ICConnectorFactory'
          jarsURL: 'C:\Program Files\IBM\ACMfg\13.0.0.0\runtime\amd64_nt_4'
          property1: 'trustCertificate=true'
          property2: 'isHA=true;mqttHostName=<MQTT broker host>;mqttPort=<MQTT broker port>'
           
      LinuxUnix
      ConnectorProviders:
        ACMfg:
          connectorClassName: 'com.ibm.industrypack.industryclient.connector.ICConnectorFactory'
          jarsURL: '/opt/IBM/ACMfg-13.0.0.0/runtime/amd64_linux_2'
          property1: 'trustCertificate=true'
          property2: 'isHA=true;mqttHostName=<MQTT broker host>;mqttPort=<MQTT broker port>'
    Note: Make sure that you use the same MQTT broker that is used in MQTTPublish and MQTTSubscribe nodes.
  4. Deploy the control flow on all the integration servers.
    Note: Every integration servers must have only one control flow.
  5. Deploy the same message flow that has any of the OPC-UA-Read, OPC-UA-Write, or OPC-UA-Input node, on all the integration servers.
  6. Verify the logs for any issues.
    Windows

    See the logs from Event Viewer.

    Linux Unix

    See the logs from /var/log/syslog file.