ADC

Configure FIX load balancing

Financial Information eXchange (FIX) protocol is an open message standard used in the financial industry for electronic exchange of information related to securities transaction between trading partners. FIX/SSL_FIX protocol is used extensively by buy-side and sell-side firms, trading platforms, and regulators for communicating trade information.

This feature enables you to configure a FIX or SSL_FIX load balancing virtual server to distribute incoming FIX messages and provide security in FIX messaging. Citrix ADC supports FIX message based load balancing (MBLB) for FIX 4.1, FIX 4.2, FIX 4.3, and FIX 4.4 versions.

FIX MBLB on a Citrix ADC appliance provides the following benefits:

  1. Efficient management of FIX or SSL_FIX servers with superior HA and health monitoring.
  2. SYN protection to all FIX or SSL_FIX servers.
  3. FIX session persistence.

How FIX load balancing works

A FIX MBLB setup includes a FIX load-balancing virtual server and multiple load-balanced FIX servers. The FIX virtual server receives incoming client traffic, parses the incoming traffic into FIX messages, selects a FIX server for each FIX message, and forwards the message to the selected FIX server. The following conceptual drawing illustrates a typical FIX load balancing setup.

Fix load balancing

In a basic FIX MBLB setup, the FIX virtual server distributes FIX messages coming from clients to the load-balanced FIX servers using the round robin load-balancing method. With persistence of type FIXSESSION enabled, the FIX virtual server selects the same server for different FIX messages belonging to the same FIX session. The FIX session is determined based on the values of the FIX fields SenderCompID (tag 49) and TargetCompID (tag 56).

Configure and monitor load balancing for FIX traffic

Following are the configurations that you must do to load balance FIX message traffic:

  1. Configuring FIX load balancing virtual server
  2. Configuring SSL_FIX load balancing virtual server
  3. Configuring FIX load balancing service
  4. Configuring SSL_FIX load balancing service
  5. Configuring FIXSESSION persistence
  6. Setting persistence timeout
  7. Displaying FIX/SSL_FIX stats
  8. Monitoring FIX/SSL_FIX persistent sessions

To configure a FIX load balancing server by using the command line interface

At the command prompt, type:

add lb vserver <name> FIX <IP> <PORT>
<!--NeedCopy-->

Example

add lb vserver vs1 FIX 10.102.82.86 3868
<!--NeedCopy-->

To configure a SSL_FIX load balancing virtual server by using the command line interface

At the command prompt, type:

add lb vserver <name> SSL_FIX <IP> <PORT>
<!--NeedCopy-->

Example

add lb vserver vs1 SSL_FIX 10.102.82.86 3868
<!--NeedCopy-->

To configure a FIX service by using the command line interface

At the command prompt, type:

add service <name> <ip-addr> FIX <port>
<!--NeedCopy-->

Example

add service_svc1 10.102.82.86 FIX 3868
<!--NeedCopy-->

To configure a SSL_FIX service by using the command line interface

At the command prompt, type:

add service <name> <ip-addr> SSL_FIX <port>
<!--NeedCopy-->

Example

add service svc1 10.102.82.86 SSL_FIX 3868
<!--NeedCopy-->

To configure FIXSESSION persistence by using the command line interface

At the command prompt, type:

set lb vserver <name> -persistenceType FIXSESSION
<!--NeedCopy-->

Example

set lb vserver vs1 -persistenceType FIXSESSION
<!--NeedCopy-->

To set persistence timeout by using the command line interface

At the command prompt, type:

set lb vserver <name> -timeout <value>
<!--NeedCopy-->

Example

set lb vserver vs1 –timeout 2
<!--NeedCopy-->

To display FIX stats by using the command line interface

At the command prompt, type:

stat lb vserver <name>
<!--NeedCopy-->

Example

stat lb vserver_svc1
<!--NeedCopy-->

To bind FIX service to FIX virtual server by using the command line interface

At the command prompt, type:

bind lb vserver <name> <service name>
<!--NeedCopy-->

Example

bind lb vserver vs1 svc1
<!--NeedCopy-->

To display FIX persistent sessions by using the command line interface

At the command prompt, type:

show lb persistentSessions <name>
<!--NeedCopy-->

Example

show lb persistentSessions vs1
<!--NeedCopy-->

Note

Note: You can now configure the load balancing of FIX traffic over SSL by using the SSL_FIX service type. This service provides secured communication for FIX messages.

To configure FIX load balancing virtual server by using the GUI

  1. Navigate to the Configuration > Traffic Management > Load Balancing > Virtual Servers page and click Add to create a FIX Load Balancing virtual server.
  2. On the Load Balancing Virtual Server page, set the server parameters:
    1. Virtual Server Name
    2. Protocol type as “FIX”
    3. Server IP Address Type
    4. Server IP Address
    5. Server Port Number
  3. Click OK and Continue to set other parameters.
  4. In the Services section, select or add a new FIX load balancing virtual service, and bind it to the FIX server.
  5. In the Persistence section, set the following parameters:
    1. Persistence type as ‘FIXSESSION’
    2. Time-out interval
  6. Click OK and then Done.

To edit a FIX load balancing virtual server by using the GUI

Navigate to Configuration > Traffic Management > Load Balancing > Virtual Servers page, select a FIX server and click Edit.

To delete a FIX load balancing virtual server by using the GUI

Navigate to Configuration > Traffic Management > Load Balancing > Virtual Servers page, select a FIX server, and click Delete.

To configure FIX Load Balancing Virtual Service by using the GUI

  1. Navigate to Configuration > Traffic Management > Load Balancing > Services page and click Add to create a FIX Load Balancing virtual service.
  2. On the Services page, set the following parameters. You can click the ‘More’ arrow to set other parameters such as Traffic Domain, Hash ID, Server ID, Cache Type, and Number of Active Connections.
    1. Service Name – FIX Virtual Service Name
    2. Choose Virtual Server type as (New or Existing)
    3. Protocol – Protocol Type as ‘FIX’
    4. Server – Virtual Server IP address
    5. Port – Server Port Number
  3. Click OK and Continue to set other parameters such as Monitors, Threshold & Timeout, Profiles, and Policies.
  4. Click OK and then Done.

To edit a FIX load balancing virtual service by using the GUI

Navigate to Configuration > Traffic Management > Load Balancing > Services page, select a FIX service and click Edit.

To delete a FIX load balancing virtual service by using the GUI

Navigate to Configuration > Traffic Management > Load Balancing > Services page, select a FIX service, and click Delete.

To display FIX load balancing server statistics

Navigate to Configuration > Traffic Management > Load Balancing > Virtual Servers page and then click Statistics to display the FIX server statistics.

To display Persistent sessions for a FIX server by using the GUI

Navigate to Configuration > Traffic Management page and, under Monitor Sessions click Virtual Server Persistent Sessions.

To clear Persistent sessions for a FIX server by using the GUI

  1. Navigate to Configuration > Traffic Management page and, under Monitor Sessions click Clear Persistent Sessions.
  2. On the Clear Persistent Sessions page, set the following parameters:
    1. Virtual Server – Choose a FIX virtual server
    2. Persistence Parameter – Choose a FIX persistence parameter
  3. Click OK.