What Is a Network Load Balancer?
Network load balancing allows you to propagate incoming requests to up to 32 servers, that is, you can use up to 32 servers to share external network request services.
- Chinese name
- Network load balancing
- Foreign name
- network load balancing
- Network load balancing allows you to propagate incoming requests to up to 32 servers, that is, you can use up to 32 servers to share external network request services.
- When Network Load Balancing automatically detects that a server is unavailable, it can quickly reassign client traffic among the remaining servers. This protection can help you provide uninterrupted service for critical business processes. You can increase the number of network load balancing servers based on the increase in network traffic. Network load balancing can be implemented on ordinary computers. In Windows Server 2003, network load balancing applications include Internet Information Services (IIS), ISA Server 2000 firewall and proxy server, VPN virtual private network, terminal server, Windows Media Services (Windows Video On Demand, Video Broadcasting) and other services. At the same time, network load balancing helps improve your server performance and scalability to meet the growing demand for Internet-based clients.
- Network Load Balancing allows clients to access the cluster with a logical Internet name and virtual IP address (also known as the cluster IP address), while retaining each computer's own name.
- Because of this, network load balancing technology has developed very rapidly recently. In the next article, the editor will briefly introduce the working principle of network load balancing and three common working methods.
- The birth of network load balancing technology has a lot to do with the rapid development of the Internet.
- With the rapid growth of Internet users, the speed of obtaining information has become an important factor restricting the development of the Internet. Especially with the rapid development of e-commerce, the information center of the company has developed from a computing center focusing on computing and data processing and a network center focusing on network and data communication into a data center that integrates and optimizes the functions of the computing center and network center . As the basic core of the enterprise e-commerce network, the data center will integrate high-performance computing, data communication, voice communication and other processing functions into one, and will become an inevitable platform to support the application of future e-commerce systems.
- However, as the heart of an enterprise network, data centers face many challenges. Scalability, flexibility, high performance, reliability, high density, and security are all indispensable requirements for data centers, especially when the data flow is growing rapidly, and continuous and stable operations are required. It's hard to imagine that users will be able to visit this site again after repeatedly encountering "Server Too Busy"; it's even harder to imagine how serious the consequences of being dropped when a credit card payment is in progress. So, how to solve this bottleneck? How can we effectively improve the quality of network services?
- Load balancing technology
- The rapid growth of the Internet has greatly increased the number of accesses to web servers and made them more unpredictable. Nowadays, the server must have the ability to provide a large number of concurrent access services, and its processing power and I / O capabilities have become the bottleneck of providing services. If the increase in customers leads to more traffic than the server can afford, the result must be downtime.
- Obviously, the limited performance of a single server cannot solve this problem. The processing capacity of an ordinary server can only reach tens of thousands to hundreds of thousands of requests per second, and it cannot handle millions or even more in one second. Request. But if 10 such servers can be combined into a system, and all requests are evenly distributed to all servers through software technology, then this system has the ability to process millions or more requests per second. This is the original basic design idea of load balancing.
- The earliest load balancing technology was implemented through DNS. The same name is configured for multiple addresses in DNS. Therefore, clients querying this name will get one of the addresses, so that different clients access different servers to achieve load balancing the goal of. DNS load balancing is a simple and effective method, but it cannot distinguish the difference between servers, and it cannot reflect the current running status of the server.
- This basic design idea of load balancing can only be regarded as the initial application of load balancing technology. In addition to modern load balancing technology that can reasonably, evenly, and real-timely balance the system load, it can also ensure high availability and reliability of the system's normal operation. The load balancing service can balance the communication load between all the servers and applications in the server farm, judge based on the real-time response time, and delegate the tasks to the lightest-loaded server for real intelligent communication management and the best server Group performance.
- As shown in Figure 1, assume that each server can respond to 100,000 requests per second. If load balancing is not used, the system can only reach 100,000 responses per second. Even if three servers are used, there may be a server with less than 300,000 responses per second due to excessive traffic. Large and downtime; if a server fails, tens of thousands of requests may not be properly responded. However, if load balancing is used, not only can the response directed to this server be automatically shared to other servers when the server fails, but tasks can also be allocated to each server when the amount of data is not too large to avoid some server data It is a small phenomenon that the performance has been drastically reduced because the amount of data is approaching the limit. If the amount of data exceeds the responsiveness of the server, simply increase the number of servers to smoothly upgrade. In other words, load balancing technology can not only maintain a balanced load distribution in the network system, but also maintain the high availability operation of the network system, so it is an important technology to ensure the high performance of the network system.
- Modern load balancing technologies usually operate at the fourth or seventh layer of the network. The load balancer can make priority delivery decisions based on the actual response time, so as to achieve high performance, intelligent traffic management, and achieve the best server farm performance. Adopting the seventh layer of application control can also reduce the error messages during the peak communication period, because error control and traffic management technology can detect some error information and transparently redirect the session to another server, so that users can use it smoothly. For example, if server A is unavailable or a database error occurs in Figure 1, the error information will be returned to the load balancer, and then the client's access will be directed to server B or the message will be replayed into other databases. transparent.
- Due to the use of load balancing technology, automatic fault recovery is realized, the service time can be extended, and 24 × 7 reliability and continuous operation become possible. In addition, the load balancer also generally supports the out-of-path return mode, which bypasses the traffic distributor and provides faster response time for customers who are anxious to wait for a large number of data file requests.
- In the latest load balancing products, intelligence is becoming increasingly apparent. Some intelligent load balancers can detect information such as database errors, server unavailability, etc., and take steps to restore sessions and redirect servers to enable e-commerce to proceed smoothly. The multi-address load balancer can parse the access request sent by the client, calculate the best address, and then return the address to the client so that the client automatically connects to the data center that is best for its request.
- Load balancing is structurally divided into local load balancing and regional load balancing (global load balancing). The former refers to the load balancing of the local server cluster, and the latter refers to the Load balancing between different networks and server clusters.
- Each host runs a separate copy of the required server program, such as a Web, FTP, Telnet, or e-mail server program. For some services, such as those running on a web server, a copy of the program runs on all hosts in the cluster, and Network Load Balancing distributes the workload among these hosts. For other services (such as e-mail), only one host handles the workload. For these services, network load balancing allows network traffic to flow to one host and move traffic to other hosts when that host fails.
- DNS
- The earliest load balancing technology was implemented through DNS. The same name is configured for multiple addresses in DNS, so clients who query this name will get one of the addresses, so that different customers access different servers to achieve load balancing. the goal of.
- DNS load balancing is a simple and effective method, but it cannot distinguish the difference between servers, and it cannot reflect the current running status of the server. When using DNS load balancing, you must try to ensure that different client computers can obtain different addresses evenly. Because the DNS data has a refresh time stamp, once this time limit is exceeded, other DNS servers need to interact with this server to regain the address data, and it is possible to obtain different IP addresses. Therefore, in order to enable the random allocation of addresses, the refresh time should be kept as short as possible. DNS servers in different places can update the corresponding addresses to obtain random addresses. However, setting the expiration time too short will greatly increase DNS traffic and cause Extra network issues. Another problem with DNS load balancing is that once a server goes down, even if the DNS settings are modified in time, you still have to wait enough time (refresh time) to take effect. During this period, the client computer that saved the address of the failed server The server cannot be accessed normally.
- Despite its many problems, it is a very effective practice, and many large websites, including Yahoo, use DNS.
- Proxy server
- Using a proxy server can forward requests to an internal server. Using this acceleration mode can obviously increase the speed of accessing static web pages. However, you can also consider a technology that uses a proxy server to evenly forward requests to multiple servers to achieve the purpose of load balancing.
- This proxy method is different from the ordinary proxy method. The standard proxy method is that the client uses the proxy to access multiple external servers, and this proxy method is the proxy for multiple clients to access the internal server, so it is also called reverse proxy mode. Although this task is not particularly complicated, it is not easy to implement because it requires particularly high efficiency.
- The benefit of using a reverse proxy is that you can combine load balancing with the caching technology of a proxy server to provide beneficial performance. However, it also has some problems. First of all, it is necessary to develop a reverse proxy server for each service. This is not an easy task.
- Although the proxy server itself can achieve high efficiency, for each proxy, the proxy server must maintain two connections, one for external connections and one for internal connections. Therefore, for particularly high connection requests, the load of the proxy server is also Very big. In the reverse proxy mode, an optimized load balancing strategy can be applied, and each time the most idle internal server is accessed to provide services. However, as the number of concurrent connections increases, the load on the proxy server itself becomes very large, and eventually the reverse proxy server itself will become a service bottleneck.
- Address Translation Gateway
- An address translation gateway that supports load balancing can map an external IP address to multiple internal IP addresses and dynamically use one of the internal addresses for each TCP connection request to achieve the purpose of load balancing. Many hardware vendors integrate this technology into their switches as a function of their Layer 4 switching, and generally use a load balancing strategy that randomly selects and chooses based on the number of server connections or response time to distribute the load. Because address translation is relatively close to the lower layers of the network, it is possible to integrate it into hardware devices. Usually such hardware devices are LAN switches.
- The so-called Layer 4 switching technology of the current LAN switch is to exchange the virtual connection according to the IP address and the TCP port, and directly send the data packet to the corresponding port of the destination computer. Through the switch, the initial connection request from the outside can be associated with multiple internal addresses, and then these established virtual connections can be exchanged. Therefore, some LAN switches with Layer 4 switching capabilities can be used as a hardware load balancer to complete server load balancing.
- Because Layer 4 switching is based on hardware chips, its performance is very good, especially for network transmission speeds and switching speeds that far exceed ordinary packet forwarding. However, because it is implemented in hardware, it is not flexible enough, and can only handle load balancing of several of the most standard application protocols, such as HTTP. At present, load balancing is mainly used to solve the problem of insufficient processing capacity of servers, so it cannot fully take advantage of the high network bandwidth brought by switches.
- Internal agreement support
- In addition to these three load balancing methods, some protocols internally support functions related to load balancing, such as the redirection capability in the HTTP protocol. HTTP runs at the highest layer of a TCP connection. The client directly connects to the server through the TCP service with port number 80, and then sends an HTTP request to the server through the TCP connection. Before the server distinguishes the web pages and resources required by the client, at least four TCP packet exchange requests must be made. Since the load balancing device distributes incoming requests to multiple servers, it can only be established during TCP connection, and it can determine how to perform load balancing after the HTTP request passes. When the click-through rate of a website reaches hundreds or even thousands of times per second, TCP connections, HTTP header information, and process delays have become very important. There is a lot of useful information about load balancing in HTTP requests and headers. First and foremost, we can know the URL and webpage requested by the client from this information. Using this information, the load balancing device can direct all image requests to an image server, or according to the URL database The query content calls the CGI program, which directs the request to a dedicated high-performance database server. The only factor that can limit access to this information is the flexibility of the load balancing device itself. In fact, if the web administrator is familiar with Web content exchange technology, he can use Web content exchange technology to improve the service to specific customers based on the cookie field of the HTTP header. If he can find some rules from the HTTP request, he can also make full use of it Make various decisions. In addition to the problem of the TCP connection table, how to find the appropriate HTTP header information and the process of making load balancing decisions are important issues affecting the performance of Web content exchange technology.
- But it relies on a specific protocol, so its use is limited. According to these existing load balancing technologies, and an optimized balancing strategy is applied, the optimal state of load sharing of the back-end server is achieved.
- Due to the many advantages of network load balancing technology, the widespread application of network load balancing must be the general trend. Later, the editor will also introduce more articles related to network load balancing, hoping to help everyone.