In many current network applications, sometimes a server can not meet the requirements of the client, then there is no way to solve the server's high scalability, high availability, high reliability and high performance, improve the SLA server? Using Network Load Balancing in Windows Server 2008/R2 (Network Load Balancing, hereinafter referred to as NLB) and the ARP module of IIS 7 are the ways to solve this problem.
First, the cluster, a cluster, is a group of servers that provide the same service or application to enhance the availability (availability), reliability (reliability), and scalability (scalability) of a service or application through each other's collaborative operations. When a server in the cluster drops, the service request is transferred to a node within the other cluster to achieve a 24-hour uninterrupted service
Network Load Balancing (NLB) is a kind of load-leveling that Microsoft provides on all Windows 2008, Windows Server 2003, Windows Server 2008, and Windows Server R2 operating systems Balance technology. Network Load Balancing (NLB) is where network connection clients and server applications are distributed across multiple servers within the same NLB cluster. NLB allows additional servers to be added, so it is extensible. In addition, NBL allows users to replace poorly run servers, thereby ensuring reliability. NBL is critical for businesses that need to distribute multiple customer requests across a set of servers. In particular, it is able to ensure that web-based applications running on Internet Information Services (IIS) can be extended by adding additional workloads to add extra servers.
Network Load Balancing (NLB) includes the following features:
² Scalability
Scalability is a measure of how a computer, service, or application can better improve to meet the performance requirements of a sustained growth. For NLB clusters, scalability refers to the ability to progressively add one or more systems to an existing cluster when the entire load of the cluster exceeds its capabilities. The following table describes the scalability features of NLB in detail:
--Balancing the load requests on each TCP/IP service on an NLB cluster
--Supports up to 32 computers in a cluster
--Balancing multiple server load requests between multiple hosts in a cluster (from the same client or from several clients)
--Enables the ability to add a host to an NLB cluster without shutting down the cluster when the load is increasing
--Supports the ability to remove hosts from the cluster when the load is down
-Improve performance and reduce overhead through full implementation of pipelining. Pipelines allow requests to be sent to the NLB cluster without waiting to respond to the last sent request
² High Availability
By minimizing downtime, highly available systems can reliably deliver acceptable levels of service. NLB includes built-in features that provide high availability by automating the following actions:
-Detect and recover from a failed or offline cluster host.
-Balance Network load when adding or removing hosts.
-Restore and redistribute the load within 10 seconds.
² Manageability
NLB provides the following manageability features:
--Using NLB Manager, you can manage and configure multiple NLB clusters and cluster hosts from a single computer.
--using port management rules, you can specify load balancing behavior for a single IP port or a set of ports.
-You can define different port rules for each Web site. If you use the same set of load-balancing servers for multiple applications or Web sites, the port rules are based on the destination virtual IP address (using a virtual cluster).
--Using optional single host rules, you can boot all client requests to a single host. NLB routes client requests to a specific host running a particular application.
--You can block unwanted network access to certain IP ports.
-You can enable Internet Group Management Protocol (IGMP) support on a cluster host to control switch broadcasts (when operating in multicast mode).
--using shell commands or scripts, you can remotely start, stop, and control NLB operations from any networked computer running Windows.
-You can view the Windows event log to check for NLB events. NLB records all operations and cluster changes in the event log.
² Ease of Use
NLB offers a number of features that are easy to use:
-You can install NLB as a standard Windows Network driver component.
--NLB does not need to change any hardware to enable and run.
-Use NLB Manager to create a new NLB cluster.
--Using NLB Manager, you can configure and administer multiple clusters and all hosts of the cluster from a remote or local computer.
--NLB allows clients to access the cluster using a single logical Internet name and virtual IP address, called the cluster IP address, which retains the name of each computer. NLB allows multihomed servers to have multiple virtual IP addresses.
Note: If you are a virtual cluster, you do not need a server that is a multihomed server to have multiple virtual IP addresses.
--You can bind NLB to multiple network adapters so that you can configure multiple stand-alone clusters on each host. Support for multiple network adapters differs from virtual clusters because virtual clusters allow you to configure multiple clusters on a single network adapter.
²NLB Configuration
NLB runs as a Windows network driver. Its operations are transparent to the TCP/IP network stack.
The figure above shows the relationship between NLB and other software components in the typical configuration of the NLB host.
--You do not need to modify the server application to run in an NLB cluster.
-If the cluster host fails and then comes back online, NLB can be configured to automatically add the host to the cluster. The added host will then be able to start processing new server requests from the client.
-You can take the computer offline for preventative maintenance without disturbing cluster operations on other hosts.
The Network Load Balancing feature in Windows Server 2008 R2 to support more users at the same time. Enhancements to Network Load Balancing in Windows Server 2008 R2 include:
1. Better support for durable connections for applications and services
The Network Load Balancing IP stickiness feature allows you to configure a long connection between the client and the cluster nodes. By default, Network Load Balancing each request is distributed across nodes in the cluster. Some applications, such as shopping cart application services, require a persistent connection to a particular cluster node.
2. Improving health monitoring of applications and services
The Windows Server 2008 R2 Network Load Balancing Management Pack allows you to monitor the health of applications and services running in a Network Load Balancing cluster.
3. Support Next Generation TCP/IP
Windows Server 2008 R2 supports Internet Protocol version 4 (IPV4) and Internet Protocol version 6 (IPV6). NLB supports IPV4 to fully support all communications at the same time IPv6.
4. Multiple IP address support
Now, there are multiple dedicated IP addresses for each node in the NLB cluster.
5. Microsoft ISA Server Integration
Microsoft ISA Server enables clients with a network environment that is mixed IPv4 and IPV6 infrastructure to access each NLB node through Microsoft ISA Server. ISA Server can also provide intrusion detection services to protect your NLB cluster.
Disadvantages of Network Load Balancing
The ²NLB cluster itself consumes a portion of CPU resources, so the actual application is not the cluster node the more performance the better. Ms officials have provided such a test report that simulated Web clients downloaded a few KB of static Web pages from the cluster. When the cluster size exceeds 8 to 10 members, the extension factor deviates significantly from the linear extension. As shown in the following figure
²NLB can only detect the state of the server, cannot detect the state of the application, if IIS for a node server is not available, the client will still be assigned to the node server, causing the request to fail. To address application-level issues, you need to use the application Request Routing of IIS 7 (ARR) to reverse control of the node server by monitoring application state. NLB can also provide high availability for the ARR modules of IIS 7.
Arr is simply a IIS7 load-balancing module that manages multiple IIS 6/7 server clusters at a time, based on the URL, either based on the host NAME or based on the HTTP HEADER. Microsoft's application Request Routing (ARR) 2.0 enables Web administrators, virtual host providers, Content distribution networks (CDN) to match the machine name based on rule routing, Load balancing of HTTP requests and distributed disk caching to improve the scalability and reliability of Web applications. With the ARR technology, administrators can optimize resources and the management costs of application servers.
² Load Balancing can effectively improve the utilization of resources
With ARR, administrators can create powerful rule-based url,http HEADERS variables and determine the most appropriate Web application server. Arr route selection at the application layer and can add a hardware load balancer such as Big IP 5 or Windows Load balancing technology for three-tier architecture routing. Typical ways: With arr, an administrator can route *.aspx to a stand-alone application server.
² Easier to manage multiple Web FARMS using standard IIS Manager
ARR gives administrators the ability to create, manage, and apply the load balancing (load Balancing) rules, the administrator can easily add a server to the Web farms, arr also includes the ability to monitor real-time traffic and URL testing for each individual server. Administrators are now able to view statistics for each server in the Web farms in the manager of IIS 7.
² Optimize bandwidth usage and the ability to extend servers through caching
Arr can cache any HTTP traffic over the server on disk. By combining disk caching with a ARR IIS Web server running with a hierarchical IIS Web site, the ability of CDN and tiered servers can significantly reduce network traffic reaching the source server.
The specific configuration document is no longer detailed here, just give the link to the document on the iis.net. The main configuration steps:
Step 1: follow this document install application Request Routing install ARR v2, restart the server, and then complete the following steps.
Step 2: follow this document achieving high availability and Scalability-arr and NLB to configure your ARR Server Farm. There is also a configuration document with F5 achieving high availability and scalability-arr and hardware Load balancer
Application extensibility also requires an application's architectural support, and for ASP.net applications, the main solution is to solve two problems asp.net session state and ASP.net Cache, which in Windows Server There is a good solution in AppFabric. See the article Windows Server AppFabric Beta 2 for Vistual Studio 2010 has been released, and Wizardwu has a blog to build a large, high-performance Web site with IIS 7, ARR and Velocity for reference.
PDF version of this article: http://cid-33478a966734670f.skydrive.live.com/self.aspx/. public/%e9%ab%98%e5%8f%af%e7%94%a8%e6%80%a7/windows%20nlb%e6%90%ad%e9%85%8diis%e7%9a%84arr%e6%90%ad%e5%bb%ba% E9%ab%98%e5%8f%af%e7%94%a8%e7%8e%af%e5%a2%83.pdf
Download:
ARR v2 X86:http://download.microsoft.com/download/4/d/f/4dfda851-515f-474e-ba7a-5802b3c95101/arrv2_setup_x86.exe
ARR v2 X64:http://download.microsoft.com/download/3/4/1/3415f3f9-5698-44fe-a072-d4af09728390/arrv2_setup_x64.exe