TRA Pool Node Reference

The Traffic Routing Agent (TRA) parameters define pools in the tra_config_network_topology.xml file.

TRA Pool Elements

MATRIXX Engine VIP pool(s) are defined by the parameters listed below. Some values are site-specific.

The type of pools you configure for a TRA depend on the TRA function:

  • TRA-SI and TRA-DR pools contain a list of the TRA-PROC VIPs that represent MATRIXX Engines. The TRA server directs traffic to the active engine in the pool.
  • TRA-(SI/DR) pools contain a list of the MATRIXX Engine sub-domains to load-balance traffic among, and the TRA-SI/DR pools.

These TRA pools have already been configured as part of configuring the MATRIXX Engine They are included here for completeness:

  • TRA-PROC pools contain a list of the MATRIXX Engine processing servers that the TRA load balances traffic among.
  • TRA-PUB pools contain a list of the MATRIXX Engine publishing servers to which that TRA routes traffic.

See the discussions about TRA configuration examples for examples of these pools.

  • name — A descriptive name for the set of pool nodes.
  • monitor — The monitor type that the TRA uses to monitor the pool nodes. See the discussion about TRA Pool Node Monitor Types for details about the options for this setting.
  • balance-method — The method by which traffic is load balanced or routed to individual pool nodes. See the discussion about TRA Pool Node Balance Method Types for the list of supported methods. TRA-PUBs must use the cmi-node-cmp-active balance method.
  • (Optional) drop-on-unreachable — (Boolean) Useful for pools with a balance-method of domain-id. This attribute controls behavior if the TRA attempts to send traffic to a sub-domain that is unreachable. The default behavior (false) directs the TRA to reroute packets to an alternate sub-domain for generating an error response. If you change this to true, the packet is silently dropped.
  • monitor-port — The port used by the node monitor (and may be used to send control commands if supported). The default is 4800.
  • action-on-node-conflict — How to respond when two peer engines are both in an ACTIVE high availability (HA) state:
    • ignore or <empty> — Do nothing. This is not recommended because data corruption can occur, and your MATRIXX implementation will require manual intervention.
    • shutdown — Stop the engine that became active latest.

      The default is ignore.

  • topology-conflict-threshold — The number of contiguous topology inconsistencies (instances of conflicting cluster IDs) detected before the pool is disabled. This parameter is valid for the following pool monitor types:
    • cmi-node-active
    • cmi-node-active-cluster-active
    • cmi-node-cmp-leader
    • cmi-node-cmp-active

    If you omit topology-conflict-threshold in the pool configuration for a pool type where the parameter is valid, the number of contiguous inconsistencies before the pool is disabled defaults to the value assigned to failed-node-timeout-poll-intervals in tra_config.xml. An explicit value of 0 for topology-conflict-threshold disables topology analysis, and topology inconsistencies never disable the pool.

  • node — Attributes that identify the entity to distribute traffic to. Each pool node has these attributes:
    • name — A descriptive name for the engine. Changing the node name is optional.
    • id — A number unique to this pool that identifies this node in the pool and that may be used for routing.
    • Use one of these options to identify the node:
      • address — A static IP address to use to select the engine.
      • domain_name[4|6] — A DNS name to use to select the engine. The DNS lookup is conducted every time before the connection to the given node is established. Change this behavior using the vsopt tcp-dn-dns-resolution-refresh[0|1] parameter. These are the options:
        • domain_name — Selects the first IPv4 or IPv6 name in the DNS lookup table.
        • domain_name4 — Selects the first IPv4 entry in the DNS lookup table.
        • domain_name6 — Selects the first IPv6 entry in the DNS lookup table.
      • (Optional) matrixx-domain — A decimal value between 1 and 64 that defines the ID of the domain that this node (sub-domain ID) belongs to. If the TRA receives a MATRIXX Data Container (MDC) or a Diameter packet that has an explicit routing record with the DMIDxx string, where xx is the domain ID, the TRA forwards the packet to the node with the specified domain ID (any active node with lowest node ID). In this case, the packet is self-routing and does not use Route Cache Controller functionality for packet routing. If a value is not specified, defaults to 1.
    • If the nodes identifies a TRA HA peer:
      • mgmt-address | mgmt-domain-name[4|6] — The IP address or domain name assigned to the management network plane (the network interface used for management and administration tasks). You must change this value.
      • p2p-address | p2p-domain-name[4|6] or mcast-address | mcast-domain-name[4|6] — The IP address or domain name assigned to the data network plane (the network interface used for cluster HA point-to-point or multicast communications between the two TRA HA nodes). Use one of the p2p options for peer-to-peer communication or one of the mcast options for multicast communication. For details about using the [4|6] options, see the discussion about TRA IP and DNS options.
    • (Optional) monitored-endpoint — The IPv4 address or hostname of the endpoint targeted by the pool node monitor. For example, a pool at one site might need to monitor and forward traffic to an engine on a different site where the TRA is behind external services. If the external services cannot serve UDP and TCP traffic through the same IP access point, use this configuration option to point the node address or hostname at the TCP access point and the monitored-endpoint at the UDP access point.
    • type — The pool type. Must be the same as pool type.
    • (Optional) port — A port number to use instead of the VS default port specified in the create_config.info file. For details about how this port is used, see the discussion about configuring TRA to direct traffic.
    • (Optional) secured — Boolean. Applicable to TCP and MDC protocols. If set to true, enables configuration options for Transport Layer Security (TLS), previously known as Secure Sockets Layer (SSL), connections between the TRA and downstream nodes. The default value is false. The supported TLS protocol versions are SSLv2, SSLv3, TLSv1, TLSv1.1, and TLSv1.2. For information about the SSL/TLS configuration options, see the discussion about TRA pool node SSL/TLS configuration in MATRIXX Security.

TRA Pool Node Monitor Types

Traffic Routing Agent Pool-Node Monitor Types lists the pool node monitor types and describes their use and behavior. The monitor type specifies how the TRA selects a node from the pool. The prefix cmi in a monitor type name indicates that the TRA node monitors the pool node(s) through the Cluster Management Interface; these nodes are processing servers or whole clusters of processing nodes.

Table 1. Traffic Routing Agent Pool-Node Monitor Types
TRA Monitor Type Behavior
cmi-cluster-active Detects the active engine in an engine chain.
When the pool that the TRA is monitoring is an engine chain (a DR pair of engines), the cmi-cluster-active monitor detects the active engine.
Note: MATRIXX Support recommends that you set the action-on-node-conflict property to shutdown for cmi-cluster-active pool-node monitor types.
cmi-cluster-active-shadow Detects the publishing cluster's active processing cluster. Used by the TRA-(SI/DR) for inter-cluster disaster recovery.
cmi-cluster-init-active Detects a cluster in an INIT state, before it is active, to ensure that the route cache is populated before the pool becomes active.
cmi-node-active Selects any active processing server or any active processing cluster.

For example, this monitor type is used for the MDC-based replay-traffic pool of a TRA-PROC (the pool defined for handling MDC-based replay traffic that comes in on the port 4061 (or whichever port you defined for MDC-based replay traffic).

cmi-node-active-cluster-active Selects any one processing server (node) on the active processing cluster.

For example, this monitor type is used for both the Diameter pool and the SubMan MDC pool of a TRA-PROC (the pool defined for handling Diameter traffic that comes in on the port 3868 and the pool defined for handling SubMan MDC traffic that comes in on the port 4060).

cmi-node-active-cluster-active-or-standby Selects any one processing server (node) on the active or on the standby processing cluster.
cmi-node-active-cluster-standby Selects any one processing server (node) on the standby processing cluster.
cmi-node-cmp-active (TRA-PUB only) Directs event streaming traffic to the active publishing server in a publishing server cluster.
cmi-node-cmp-leader Selects only the one processing server (node) that is the Cluster Manager leader.

This monitor type is used for the Cluster Management service pool of a TRA-PROC (the pool defined for handling cluster-management messages that come in on the UDP port 4800).

tcp-connect Detects a TCP server node using a TCP connection-probe monitor.

When the pool that the TRA is monitoring is a pool of generic TCP server nodes, the tcp-connect monitor detects a TCP server with which it can establish a TCP connection.

Virtual servers (VSes) configured on the TRA host on the 'lo' interface, which are pool members of internal pools, are considered TCP server nodes.

TRA Pool Node Balance Method Types

Traffic Routing Agent Pool Balance Method Types lists the pool balance method types that you can use and describes their behavior. The balance method indicates how the traffic is to be load-balanced or routed to individual TRA pool nodes.

Table 2. Traffic Routing Agent Pool Balance Method Types
TRA Balance Method Type Description
domain-id Route traffic to the node that is associated with the customer sub-domain obtained from the Route Cache.

For a TRA-RT (or TRA-RT-(SI/DR)), the domain-id balance method is used for internal pools that provide site-independent Diameter service or site-independent SubMan-MDC service in a MATRIXX environment where multiple customer sub-domains are implemented in separate engine chains. Traffic is routed to the internal VS (as a pool member) that handles traffic for the relevant customer sub-domain.

This balance method type does not require node monitoring. Monitoring is disabled by default in the configuration generated by the create_tra_dr_config.py script. When monitoring is disabled, nodes are assumed to be always available and VSes are always open.

Refrain from specifying monitoring attributes (monitor and monitor-port) for these pools if configuring manually.

domain-id-protocol Use for a TRA-RT (or TRA-RT-(SI/DR)) for sub-domain routing. Only used for the Event Streaming Framework feature, which sets the target sub-domain in the initial request message. Request forwarding information is embedded in protocol messages.

This balance method type does not require node monitoring. Monitoring is disabled by default in the configuration generated by the create_tra_dr_config.py script. When monitoring is disabled, nodes are assumed to be always available and VSes are always open.

Refrain from specifying monitoring attributes (monitor and monitor-port) for these pools if configuring manually.

most-recently-used Route traffic to the node that was most recently used to process traffic.

This balance method is designed to be used only by a TRA that is configured as a TRA-SI or TRA-DR (It is required by the TRA-DR).

random Use random load balancing to distribute traffic across pool members.
round-robin Use round-robin load balancing to distribute traffic across pool members.
weighted-round-robin Use round-robin load balancing to distribute traffic weighted based on reported usage of pool members.

The weighted-round-robin load balance method can only be used with the cmi-node-active or cmi-node-active-cluster-active monitor types, and the System Monitoring service must be enabled on processing nodes.

single-node Routes traffic to the single node allowed in the pool using this balance method. An error message is returned if more than one pool node is specified.

This balance method is required if:

  • The pool is a TRA-DR engine chain pool.
  • The pool is for a VS that uses protocol=udp.

For a TRA-SI/DR, the single-node balance method is used for pools that provide site independence for an engine chain. For a pool of engines that has a monitor type of cmi-cluster-active and a balance method of single-node, the TRA-SI/DR routes traffic to only the active engine in an engine chain.

This balance method is not used for a pool containing TCP server nodes.

broadcast Use the broadcast balance-method to send all traffic to all pool members. Used to synchronize route caches between sub-domains.