Font Size: a A A

Design And Implementation Of Web Load Balancing System

Posted on:2018-01-13Degree:MasterType:Thesis
Country:ChinaCandidate:L Y ShiFull Text:PDF
GTID:2428330593450424Subject:Computer technology
Abstract/Summary:PDF Full Text Request
With the Web applications continuous expansion,Web business globalization is becoming more and more popular.And also,the mobile Web business is more mature,and the Web load balancing is facing greater challenges.In terms of availability,the soaring Web traffic is one of the problems faced by load balancing server.In addition,the diversity of Web services requires more flexibility in the load balancing policy.In terms of security,Web services are faced with a variety of attacks.Load balancing devices are in the front of the Web server cluster and require basic defense capabilities.This paper aims at resolve the problem of high concurrency of Web application access,and uses efficient load balancing technology to support session persistence to achieve application layer load balancing.The load balancing system works in the mode of proxy,and the load balancing scheduling is running in the application layer.Through the methods of running in daemon mode,setting CPU affinity of every worker process and monitoring running status of worker processes,we can balance the workload of each CPU and implement the overall division of load tasks,so as to improve the reliability of system service.According to the rules of high cohesion and loose coupling,the application layer load balancing system is divided into several sub-modules,include connection management,message analyzing,Web cache acceleration,security filtering,load balancing policy,and health monitoring.First of all,The connection management module implements the managements of the client connections and the server side connection reuse.On the one hand,the worker processes can shoulder the heavy load of client connections fairly.On the other hand,reuse of server side connections can avoid frequent establishment and closing of connections,which will produce additional consumption to the system.And the system opens the SYN Cookie function to clean the client connection and defend against the SYN Flood attack.After analyzing the HTTP protocol specification,we select the finite state machine to parse the HTTP message and retrieve the data information,which provide the parameters for the request security filtering and the cache acceleration.For applications that need cache acceleration,we can achieve local cache response to static resources by opening Web cache function,and clean out the local cache according to LRU(Least Recently Used)algorithm and cache life cycle.After studying the principle of common application layer Web attacks,the Web security filter module adopts matching the black-and-white list to defend against theapplication layer injection attacks and illegal requests.The health monitoring module runs independently of the load balancing system,but it needs to provide statistics to the load balancing system.Through the analysis and comparison of various health check methods,we use the HTTP GET method to obtain the server load status,and carry out health inquiry within an interval.It will not only detect the availability of the Web server,but also get the running status of the server.It is convenient for the load balancing scheduling module to decide whether the server is available and assign the task.Load balancing scheduling module is mainly to solve the problem of the application layer session persistence.We can use the methods of simple session persistence,session persistence by Cookie,or session persistence by URI.And it makes the requests belonging to one session will be allocated to one same server to complete the transaction and ensure the data consistency.Finally,the system integration test results show that the load balancing system meet the functional requirements of expected.The load balancing device can be applied to the scenarios of Web cache acceleration,Web security filtering,or application layer session persistence.And it can work as Web cache acceleration,defense against application layer Web attacks,or session persistence scheduler.
Keywords/Search Tags:Web load balancing, load balancing policy, Web cache acceleration, session persistence
PDF Full Text Request
Related items