Content Routing (CR) is the execution of defined rules that determine the placement and configuration of network traffic between users and web applications, based on the content being sent – for example, a pattern in the URL or header fields of the request.
CR is helpful in many cases, but is commonly used when web servers need to perform several different functions or offer several types of services. Often it is more efficient to have two different sets of machines perform the distinct functions, and to use CR to route the different types of traffic to different machines.
For example, an enterprise can use CR to provide better service to paying customers than to casual visitors to its Web site, by routing the paid requests to more powerful web servers.
Content Routing Rules
CR routes requests based on rules that a server administrator writes. The most common type is based on the path name in the URL. For example, when a user navigates to the /images/ section of a site, the server administrator can set up a rule that sends /images/ traffic to an image server pool optimized for images sharing, thus increasing access speed. The administrator can set up subsequent rules which will route users to alternate servers depending on the relevant page. There are also rules that route requests based on the IP address of the client who sent them. An example of this could involve rerouting a client to a server pool geographically closer to their IP address, decreasing latency and increasing efficiency.
Management Techniques for Content Routing
Different types of traffic management techniques are available, to customize how policies are applied. Some of those techniques include:
- Load Balancing: By default, the parent web service’s load balancing policy is copied into the content rule. Load balancing is tied to a server group, and the Content Rule configuration specifies which server group to use. This allows distribution of requests based on the content type.
- Caching: Sets caching policy for the content rule. This allows selective caching based on the content type.
- Compression: Sets compression policy for the content rule. This improves the response time for clients accessing the Web service by compressing Web pages with the specific content type. Rules are evaluated based on a key comprised of the HTTP headers, URL, host, and an optional extended match rule in specified sequential order. In most cases, only host and URL are used to specify a rule.
In addition, these rules can be applied at different levels of the network “stack”:
- Routing-Based: A simple but sometimes rough method, where all server instances are labeled with same IP address. This method relies on the abilities of the internet routing system to determine the closest server instance. While efficient, this method provides only a few controls for determining which server the client is sent to.
- Application-Based: This method is also simple, but it adds latency, because the client first has to go to the initial server before being redirected to the desired location.
- Naming-Based: This method provides fine grained control and is fast. The client looks up a domain name, the response contains an IP address of a local server instance. This allows for significant flexibility in directing different clients to different servers.
The technologies of content routing deal with delivering the content from the most appropriate place to the client requesting it. When deciding the most appropriate place, there are several different metrics that could affect this decision, such as network proximity, geographical proximity, response time, and user type. These metrics can heavily inform the quality of the services provided, and also can assist in maintaining proper network load during high use times.
How Barracuda Can Help
The Barracuda Load Balancer ADC has full traffic control and can route requests to servers based on region, device, browser, or a number of other factors. This enables organizations to deliver customized application responses to users.