LVS features:
1. Strong load resistance, using IP load balancing technology, only distribution, so LVS itself does not generate much traffic;
2. Stable It has good performance and reliability, and has a perfect hot backup solution; (such as: lvs keepalived)
3. The application range is relatively wide, and load balancing can be done for all applications;
4. Regular processing is not supported and cannot be done Separation of movement and stillness.
Four commonly used algorithms:
1.rr: round-robin, allocated to back-end servers in turn;
2.wrr: weighted round-robin, allocated according to the load of the back-end server;
3. lc: Minimum connection, allocated to the server with the fewest established connections;
4.wlc: Minimum weight connection, allocated based on the processing capabilities of the back-end server.
You can use ipvsadm -p (persistence) to maintain the session. The default is 300/s
nginx features:
1. Works on layer 7 and can handle regular rules; ( For example: diversion for domain names and directories)
2. The configuration is simple, and the load function can be performed if it can be pinged. The back-end server status can be detected through the port, and URL detection is not supported;
3. To resist high concurrency, use The epoll network model handles customer requests;
4. Only supports http and email, and its application scope is relatively small;
5.nginx is mainly http and reverse proxy server, with low system resource consumption.
Four commonly used algorithms:
1.rr: (default) polling, assigned to back-end servers in turn;
2.weight: allocated based on back-end server performance;
3.ip_hash: every Each request is allocated according to the hash result of the accessed IP, with appropriate concurrency hours to solve the session problem;
4.fair: (Extension strategy), the nginx kernel is not compiled by default, and the load is judged based on the back-end server response time, and the best option is selected. Handle gently.
haproxy features:
1. Supports two proxy modes: tcp (layer four) and http (layer seven), and supports virtual hosts;
1. The configuration is simple and supports URL detection of back-end server status;
2. It is only used for load balancing software. In high concurrency situations, the processing speed is higher than nginx;
3. The tcp layer is mostly used for load balancing of mysql slave (read) servers.
Four commonly used algorithms:
1.roundrobin: polling, allocated to the backend server in turn;
2.static-rr: allocated according to the performance of the backend server;
3.leastconn: minimum connection The one with priority will be processed;
4.source: According to the request source IP, similar to nginx's ip_hash.
Why do we need to solve the session session?
In a load balancing environment, each user may have irregular access to the back-end server. In some applications, it is necessary to require that all requests accessed by the same user within a certain period of time be assigned to the same back-end server. Processing, for example: e-commerce website, user registration page, etc. Once the page is refreshed, it will be assigned to another server on the backend, and the information on the previous page will be gone. In this case, the same server will be assigned Handling requests is crucial!
The above is the detailed content of What are the characteristics of LVS, Nginx and HAProxy load balancers?. For more information, please follow other related articles on the PHP Chinese website!