Component Load Balancing Architecture

Unlike Server cluster and Network Load Balancing, which are built into the Enterprise Edition and Datacenter Edition of Windows Server 2003, Component Load Balancing is a feature of Microsoft Application Center and is designed to provide high availability and scalability for transactional components. Component Load Balancing is scalable on up to eight servers and is ideally suited to building distributed solutions.

Using Component Load Balancing Clusters

Component Load Balancing makes use of the COM+ services supplied as part of the Windows operating system. COM+ services provide enterprise functionality for transactions, object management, security, events, and queuing. COM+ components use the Component Object Model (COM) and COM+ services to specify their configuration and attributes. Groups of COM+ components that work together to handle common functions are referred to as COM+ applications.

Figure 18-9 provides an overview of Component Load Balancing. Component Load Balancing uses several key structures:

Component Load Balancing relies on software for load balancing

Figure 18-9. Component Load Balancing relies on software for load balancing

  • Component Load Balancing software, which handles the load balancing and is responsible for determining the order in which cluster members activate components.

  • A router, which can be implemented through component routing lists stored on frontend Web servers or a component routing cluster configured on separate servers. The router handles message routing between the front-end Web servers and the application servers.

  • Application server clusters, which activate and run COM+ components. The application server cluster is managed by Application Center.

The routing list made available to the router is used to track the response time of each application server from the Web servers. If the routing list is stored on individual Web servers, each server has its own routing list and uses this list to check the response times of the application servers periodically. If the routing listed is stored on a separate routing cluster, the routing cluster servers handle this task.

The goal of tracking the response time is to determine which application server has the fastest response time from a given Web server. The response times are tracked as an in-memory table and are used in round robin fashion to determine to which application server an incoming request should be passed. Because of this, the application server with the fastest response time (and theoretically the one that is least busy and most able to handle a request) is given the next request. The next request goes to the application server with the next fastest time, and so on.

Understanding Application Center

Application Center (Appcenter.exe) can run on Windows Server 2003, Standard Edition, Enterprise Edition, or Web Edition. It includes both server and client components. Typically, server components are installed on the systems responsible for the Component Load Balancing clusters—the application servers and client components are installed on the front-end Web servers. The command-line counterpart to Application Center is Ac.exe.

Application Center provides many ways of changing the state of the systems it administers and features integration with Network Load Balancing, allowing you to view and manage the Network Load Balancing configuration. Using Application Center, you can take servers online or offline, deploy new content, and add or remove members to the cluster. In most cases, you do this in Application Center. Sometimes you want to do this by using a script, and this is where the command-line tool comes in handy.

In terms of the Application Center architecture, an application is a collection of software resources for a Web site or COM+ application. This collection can include a COM+ application, a Web site, Registry keys, certificates, and more. When creating and managing applications, Application Center allows you to create, rename, or delete applications and to add or remove resource definitions.

When you work with Component Load Balancing clusters, you can enable or disable load balancing for cluster members. When you enable load balancing on a cluster member, the member is put online. When you disable load balancing on a cluster member, the member is taken offline. You can also determine how load balancing is implemented by setting Network Load Balancing weights for cluster members.

Planning Component Load Balancing Clusters

The architecture of Component Load Balancing clusters should be designed to meet the availability requirements of the service offering. For small to moderate-sized implementations, the front-end Web servers can host the routing list for the application server cluster. For larger implementations, dedicated routing clusters are desirable to ensure high-availability requirements can be met.

As with Network Load Balancing, servers in Component Load Balancing clusters should be optimized for their role, the types of applications they will run, and the anticipated local storage they will use. Routing servers maintain in-memory routing lists and need high-speed connections to the network. Whether configured separately or as part of the front end, this feature doesn't require a lot of storage, but a limited amount of additional RAM might be required.

Application servers, on the other hand, typically need a lot of RAM, fast CPUs, and limited redundancy in the drive array configuration. If redundant drive arrays are used, a basic configuration, such as RAID 1 or RAID 5, might be all that is needed to maintain the level of availability required.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset