Jump to: navigation, search

Configure DFMs in Load Balancing Deployment

Included in your Installation Package (IP) are special configuration files, called DFMs, which are required for Orchestration Server-based services. These files define Genesys Mobile Services-specific SCXML constructs that are required for the execution of SCXML applications used within Orchestration Server-based services.

Starting 8.5.104, you must update the DFM files deployed locally with the latest version provided in the GMS Admin UI.

Simple HTTP Connection to a Load Balancer


HTTP_simple connections can be set up in two cases:

  • Simple connection to an internal load balancer.
  • Simple connection to an external load balancer:
    • If you use a load balancer address external to the company network in the simple connection type, Orchestration Server (ORS) must be able to reach to the outside world (Internet) before it can go “back” to the load balancer and further on to GMS instances.
<dfm name='gsgBasedServices' namespace='http://www.genesyslab.com/modules/dfm/gsgBasedServices/v1'>
<connection name='HTTP_simple' type='http' selectionmode='simple'>
<server name='gsg' host='gms-lb' port='80' />

Using a load balancer address external to the company network implies extra hops to the Internet. Longer access times and security policies that allow ORS to go outside of the network might create downturns.

Round Robin Connections


In the absence of an external load balancer or if the load balancer is external and you want to avoid extra hops to the internet (and/or deny ORS access to the outside internet), you can configure round-robin connections. The round-robin connection type basically works as an internal load balancer whenever GMS services are being invoked by ORS. To implement this configuration, create round-robin connections to each GMS node, as follows:

<connection name='HTTP_round_robin' type='http' selectionmode='round-robin'>  
       <server name='gsg1' host='gms1' port='8080' />  
       <server name='gsg2' host='gms2' port='8080' /> 
       <server name='gsg3' host='gms3' port='8080' /> 

If you set up round robin connections, you can use the conntype attribute to control how ORS reaches GMS. You must set the conntype attribute for HTTP transports to HTTP_round_robin, for GET, POST, and DELETE requests:

<transport name='HTTP_GET' conntype='HTTP_round_robin'>

ORS is not designed as a soft load balancer, thus does not handle GMS node failure in an optimal way. In addition, you must modify DFM files again, in case additional GMS nodes are added to the cluster, it does not make sense to use only a partial GMS cluster in the DFM configuration.

Modifying URL in HTTP transports

You might need to modify the url parameter of various HTTP transports if you use an external load balancer that is configured to “hide” the GMS Admin UI (/genesys/admin) part of the URL.

<transport name='HTTP_GET' conntype='HTTP_round_robin'> 
  <param name='method' expr='GET'/>
  <param name='enctype' expr='application/x-www-form-urlencoded'/>
 <param name='url' expr='/genesys/1/service/'/>
This page was last edited on April 13, 2017, at 13:01.
blog comments powered by Disqus