Using CLB

On one-tier clusters, Application Center can use NLB to distribute requests across a COM+ application cluster. On multi-tier clusters, Application Center can use CLB to load balance requests to activate COM+ applications. Because CLB load balances only the activation requests, this method is more efficient than NLB for a COM+ application cluster.

By creating a COM+ application cluster, you can simplify management of your server applications because your COM+ components are now isolated on a separate cluster. You can increase or decrease the size of your COM+ application cluster independently of your Web cluster, and vice versa. Security is also improved because you can place firewalls between your Web and COM+ application clusters (which requires you to open ports for DCOM). CLB does not support Microsoft Message Queue Server (MSMQ) nor queued components.

How CLB Works

Using CLB, each server in a Web cluster acts as a router for a COM+ application cluster. Each Web server maintains a routing list of the individual COM+ servers comprising a COM+ application cluster. CLB polls the COM+ servers on this routing list every 800 milliseconds to obtain their response time. CLB arranges the COM+ servers in an internal routing list by response time. Then, CLB uses a round-robin technique against this internal list to determine which COM+ server should create the COM object for the client. If CLB determines that a COM+ server is unavailable, it distributes creation requests among the other COM+ servers on the routing list.

When a client accesses a COM+ component by calling CoCreateInstance or CoGetClassObject, CLB checks to see if the component supports dynamic load balancing. If so, CLB forwards the request to a COM+ server on the routing list. If not, the COM+ object is created locally on the Web server. The COM+ server returns an object reference directly to the client. Subsequent requests for the created object are routed directly to the COM+ server.

To perform CLB, the Web cluster uses the CLB activator, COM+ load balancing service, and routing list. The COM+ application cluster uses the AC_Load Balancer COM+ application.

Implementing CLB

For CLB to function properly, you must complete the following steps:

  1. Add each COM+ server to the routing list on the controller for the Web cluster.

  2. Install the COM+ components that comprise a COM+ application on both the Web cluster and the COM+ application cluster.

  3. Use the Component Services snap-in to enable dynamic load balancing support for each COM+ component on the Web cluster.

  4. Restart the COM+ component load balancing service on the Web cluster.

  5. Disable support for dynamic load balancing on the COM+ server for each COM+ component.

Before deploying COM+ applications, enable or disable support for dynamic load balancing appropriately. For example, if you are deploying from a Web cluster to a COM+ application cluster, disable support for dynamic load balancing before performing the deployment. Otherwise, the COM+ application cluster attempts to load balance the applications instead of activating them because they have been marked as supporting dynamic load balancing. When enabling or disabling the support for dynamic load balancing of a COM+ component, you must restart the COM+ Component Load Balancing Service for the changes to take effect.

CLB with Different COM+ Components

CLB performs load balancing for COM+ application clusters in which each member in the cluster has the same COM+ components. To support a COM+ application cluster with different COM+ components, you can separate the COM+ application clusters and create COM+ routing clusters for each of the separate COM+ components you want to load balance.

For example, if you want to load balance two different COM+ applications, composed of components ABC and components XYZ, first create two separate COM+ application clusters, one for each set of components. If COM+ application cluster 1 contains components ABC, enable dynamic load balancing support for these components on the Web cluster. Then, add each member of COM+ application cluster 1 to the Web cluster routing list. This is the standard configuration for a two-tier cluster.

To load balance components XYZ in COM+ application cluster 2, create a COM+ routing cluster in which the routing list contains each member in COM+ application cluster 2. The routing cluster uses NLB to load balance the incoming requests and CLB to load balance the outgoing requests (requests to activate COM+ applications). The following illustration shows this configuration.

Did you find this information useful? Please send your suggestions and comments about the documentation to acdocs@microsoft.com.