Node Discovery

Automatic node discovery allows TIBCO Fulfillment Order Management services to start without specifying the NODE_ID system property. This enables the services to scale without any manual intervention and provides the integration expected with a container technology like Docker.

In case of static assignment, for each micro-service, the system properties that need to be set are NODE_ID and DOMAIN_ID.

The following services use the Node Discovery mechanism:
  • OMS
  • AOPD
  • OPE
  • OMSUI
  • OCS

Static Assignment

This option allows a particular application to be statically bound to a fixed node name. This is possible by providing a system property corresponding to the application at the JVM startup and marking the particular node as static in the domain members table.

The following are the system properties you can use to bind a node to a node name:
  • OMS (NODE_ID)
  • AOPD (NODE_ID)
  • OPE (NODE_ID)
  • OMS-UI (NODE_ID)
  • OCS (NODE_ID)

Each service for this option has to belong to a domain defined in the domain table.

The following are the system properties for specifying domain names corresponding to the services:
Service System Property Default Value
OMS DOMAIN_ID ORCH-DOMAIN
AOPD DOMAIN_ID DYNAMIC
OPE DOMAIN_ID DYNAMIC
OMS-UI DOMAIN_ID DYNAMIC
OCS DOMAIN_ID OCS-DOMAIN

The entry for all members for a particular service must be present in the domain members table, and the domain being used should be present in the domain table. The members in the domain members table must have is_static set to 1 for members reserved for static allocation.

Dynamic Assignment

This options allows a particular service to dynamically register itself as a member in the cluster. The node name should not be provided for this option to work.

Each service for this option has to belong to a domain defined in the domain table.

The following are the system properties for specifying the domain names corresponding to the services:
Service System Property Default Value
OMS DOMAIN_ID ORCH-DOMAIN
AOPD DOMAIN_ID DYNAMIC
OPE DOMAIN_ID DYNAMIC
OMS-UI DOMAIN_ID DYNAMIC
OCS DOMAIN_ID OCS-DOMAIN

The entry for all members for a particular service should be present in the domain members table and the domain being used should be present in the domain table. The members in the domain members table should have is_static set to 0 for members reserved for dynamic allocation.

Dynamic Domain

This option allows services to start without a defined domain value. Services covered under this option are AOPD, OPE and OMSUI. The following services do not have to be defined through the system properties:
  • AOPD (NODE_ID)
  • OPE (NODE_ID)
  • OMS-UI (NODE_ID)

For the cases where the node ID is not provided, a random node is allocated to the member of the application.

The default domain for these services is set to DYNAMIC; therefore, by default, they start without entries present in the domain members table. However, it is possible to start these services in the non-dynamic modes by providing a domain name as system properties:
Service System Property Default Value
AOPD DOMAIN_ID DYNAMIC
OPE DOMAIN_ID DYNAMIC
OMS-UI DOMAIN_ID DYNAMIC