Clustering ensures the availability of critical services by using a group of computers, or cluster, instead of a single computer. Each computer in a cluster is called a node. Clustering enhances the fault tolerance and scalability of a system by allowing one or more nodes to be removed from service without hindering system operation. Clustering is usually part of a larger load balancing process in which content requests are distributed among the nodes to spread the workload evenly.
Each node in a cluster provides a particular set of resources to the group. Windows Media Services might be only one of several resources available on a particular node, and not all of the nodes on a given cluster might have Windows Media Services installed. If a node fails or is shut down, the clustering software reallocates the server demand to the other members of the cluster that have the correct resources available. This process is called failover. There are two common failover modes:
When a failed or offline node is recovered, the clustering software can automatically move some or all of the redistributed resources back to their original location.
In addition to controlling failover, clustering software allows administrators to control and manage the nodes as a single system rather than as individual computers.
In order to provide effective failover protection, each node in the cluster must have a direct connection to the content source. The content source can be an encoder, a publishing point, or a file server.
Network Load Balancing Clusters is a server clustering method offered within Microsoft Windows Server 2003. Each cluster can support up to 32 computers under a single, logical Internet name. The cluster automatically detects server failure or change of status and redirects requests to the remaining servers while maintaining a seamless operational appearance to the user. For more information about setting up a cluster, see Windows Help and Support.
Load balancing software typically works with the clustering software to manage the server workload within the cluster so that it is evenly distributed among the nodes. It monitors the operation of each node and divides the streaming media workload according to a predetermined formula or algorithm. It also ensures that, even though the stream may originate from any of several different nodes, the content is represented by a single IP address.
There are two primary load balancing strategies:
Network Load Balancing is offered within Microsoft Windows Server 2003 and uses a fully distributed filtering algorithm. Every second, each node in the cluster emits a "heartbeat" signal which contains information about its status. The Network Load Balancing software monitors these signals for changes in the cluster status and changes the service request distribution appropriately.