Configuring Sub-Domain Routing (Multiple Sub-domains)

In a MATRIXX Digital Commerce environment where multiple customer sub-domains are implemented in separate engine chains, you configure sub-domain routing so that traffic is directed to the correct customer sub-domain where the subscriber is homed. You must configure different components across MATRIXX Digital Commerce for sub-domain routing to work.

To configure sub-domain routing, you configure the following components at one or more sites:

  • Route Cache Controller (RCC) service and Traffic Routing Agent (TRA-RT-(SI/DR)) that run on the TRA-RT-(SI/DR) HA pair (active/standby servers).
  • Route Cache Proxy (RCP), Traffic Routing Agent (TRA-PROC with RCP), and the processing blades that run on the TRA-PROC with RCP servers.

There are three network modes for sub-domain routing:

  • Peer-to-Peer (p2p) — (default) in this mode, MATRIXX Engine connects to the RCC via the RCP.
  • Server (server) — in this mode, MATRIXX Engine handles upstream requests as a server using the TRA-RT-(SI/DR) to communicate with RCC clients.
  • Dual (dual-mode) — in this mode, both kinds of connections are facilitated. This mode is provided to facilitate transition to server mode.
Note: The peer-to-peer and server networking modes are incompatible and can not be deployed together.

See the discussion about information requirements for sub-domain routing in Installation and Configuration for details about the IP address (or hostname), port, and virtual-IP (VIP) address (or hostname) information, if applicable, you must provide when you configure sub-domain routing.

Note: Route Cache Controller supports only IP version 4 addresses.

The TRA-RT-(SI/DR) and Network Enabler use the same RCC configuration for communicating with the RCC. For deployments where only the Network Enabler is used and the Traffic Routing Agent is not running, the RCC configurations are stored on the Network Enabler server.

Sub-domain routing configurations are set in three environment layers of MATRIXX Digital Commerce:

  • Route Cache Controller environment

    To configure the RCC environment, you edit the RCC properties file (rcc_base.cfg), and run the create_rc_config.py script. The scripts sets RCC configuration parameters based on the values defined in the properties file and enables the RCC service on the local server. It also sizes the route cache tables.

  • Route Cache Proxy (RCP) environment (peer-to-peer and dual-mode networking modes only)

    To configure the RCP environment, you edit the RCP properties file (rcp_base.cfg), and run the create_rc_config.py script. The script sets RCP configuration parameters based on the values defined in the properties file and enables the RCP service on the local server.

  • MATRIXX Engine environment

    To configure the engine environment, you answer yes (y) to the following create_config.py questions when configuring each engine, and answer all subsequent sub-domain routing related questions that a yes answer prompts.

    Do you want to use a Traffic Routing Agent (TRA) for sub-domain routing (y/n)?y
    TRA_RouteCacheController 1:What is the listener's port?

Services that are consumers of Route Cache data, such as the TRA-RT-(SI/DR) and Network Enabler, have their own set of configurations for sub-domain processing. See the Traffic Routing Agent and Network Enabler documentation for information about configuring them for sub-domain routing.

Route Cache Controller configurations are contained in the /opt/tra/conf/mtx_config.xml file that resides on the local TRA-RT-(SI/DR) server. Route Cache Proxy configurations are contained in the /opt/tra/conf/mtx_config.xml file that resides on the local TRA-PROC with RCP server.

When configuring sub-domain routing on a TRA-RT-(SI/DR) server or on a TRA-PROC with RCP server, you run the following scripts in the order shown:

  1. Run create_config.py.
  2. Run the TRA configuration scripts.
  3. Run validate_tra_config.py.
  4. Run create_rc_config.py.

After the initial run of the create_rc_config.py script, if you need to re-run the script to reset an RCC or RCP connection parameter on the local configuration, you must re-run create_config.py, validate_tra_config.py, and create_rc_config.py, in that order.