Node Discovery

Automatic node discovery lets TIBCO Order Management - Long Running 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 microservice, the system properties that have to be set are NODE_ID and DOMAIN_ID.

The following services use the Node Discovery mechanism:
  • Order Management Server
  • Automated Order Plan Development
  • Order Management Server UI
  • Order Capture System

Static Assignment

This option lets 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:
  • Order Management Server (NODE_ID)
  • Automated Order Plan Development (NODE_ID)
  • Order Management Server UI (NODE_ID)
  • Order Capture System (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
Order Management Server DOMAIN_ID ORCH-DOMAIN
Automated Order Plan Development DOMAIN_ID DYNAMIC
Order Management Server UI DOMAIN_ID DYNAMIC
Order Capture System 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 might be present in the domain table. The members of the domain members table must have is_static set to 1 for members reserved for static allocation.

Dynamic Assignment

This option lets a particular service to dynamically register itself as a member in the cluster. The node name might 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
Order Management Server DOMAIN_ID ORCH-DOMAIN
Automated Order Plan Development DOMAIN_ID DYNAMIC
Order Management Server UI DOMAIN_ID DYNAMIC
Order Capture System DOMAIN_ID OCS-DOMAIN

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

Dynamic Domain

This option lets services to start without a defined domain value. Services covered under this option are Automated Order Plan Development, and Order Management Server UI. The following services do not have to be defined through the system properties:
  • Automated Order Plan Development (NODE_ID)
  • Order Management Server 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
Automated Order Plan Development DOMAIN_ID DYNAMIC
Order Management Server UI DOMAIN_ID DYNAMIC