The on demand router (ODR) works with the autonomic managers to prioritize requests in WebSphere® Extended Deployment.
The on demand router is a server type that acts as a proxy, or intermediary, for HTTP requests and the application servers that are committed to complete those requests. The ODR run the Autonomic Request Flow Manager (ARFM), which performs the request flow prioritization function. There can be multiple ODRs, and each request goes through only one ODR, but it could be any one of them. The request flows are managed to achieve the best balanced performance results, considering the configured service policies and the offered load.
With WebSphere Extended Deployment, you can define performance goals and bind them to specific subsets of the incoming traffic. The ODR and associated autonomic managers are able to support business goals in times of high load by making smart decisions about the work coming into the ODR. Not all work in your configuration is created equal. The ODR is able to support this concept by forwarding different flows of requests more or less quickly to achieve the best balanced result.
An on demand configuration (ODC) component allows the ODR to sense its environment. However, the ODC is not able to sense environments other than a homogeneous WebSphere Extended Deployment environment.The ODC automatically gets information about WebSphere Extended Deployment application servers and applications that are deployed in the cell. The ODC dynamically configures the routing rules at runtime to allow the ODR to accurately route HTTP requests to those application servers. An ODR is able to route HTTP requests to WebSphere Extended Deployment nodes and, with some additional configuration, can also route work to non-WebSphere Extended Deployment servers or end points. The ODR, like the Web server plug-in for WebSphere Application Server, uses session affinity for routing work requests. After a session is established on a server, later work requests for the same session go to the original server, which maximize cache usage and reducing queries to back-end resources.
A service policy is a user-defined categorization that is assigned to potential work as an attribute that is read by the ARFM. You can use a service policy to classify requests based on request attributes, including the URI, the client name and address, and the user ID or group. By configuring service policies, you apply varying levels of importance to the actual work. You can use multiple service policies to deliver differentiated services to different categories of requests. Service policy goals can differ in performance targets as well as importances.
The ARFM exists in the ODR and controls request prioritization. The autonomic request flow manager contains two parts: a controller and a gateway. The ARFM function is implemented, for each cell, by a controller plus a collection of gateways in the ODRs. The gateways intercept and queue the incoming HTTP requests, while the controller provides control signals, or directions, to the gateways, and the placement controller. The ARFM also includes the work profiler, which estimates the computational load characteristics of the different flows of requests. Working together, these components are able to properly prioritize incoming requests.
Dynamic workload management (DWLM) is a feature of the ODR that applies the same principles as workload management (WLM), such as routing based on a weight system, which establishes a prioritized routing system. DWLM is an optional add-on that adds autonomic setting of the routing weights to WLM. With WLM, you manually set static weights in the administrative console. With DWLM, the system can dynamically modify the weights to stay current with the business goals. DWLM can be shut off. If you intend to use the automatic operating modes for the components of dynamic operations, then setting a static WLM weight on any of your dynamic clusters could get in the way of allowing the on demand aspect of the product to function properly.
As the previous diagram depicts, an equal amount of requests flow into the ODR, but after the work is categorized, prioritized, and queued, a higher volume of more important Platinum work is sent to be processed while a lower volume of less important Bronze work waits to get queued. However, just because the lower priority work is delayed the most , that does not make the long-term average rate of Bronze coming out of the ODR less than the long-term average rate of Bronze going in. In the end, the features of the dynamic operations attempt to keep the work within the target time allotted for completion.