Bài viết sau đây, mô tả các ví dụ và khái niệm liên quan nginx hoạt động như Load Balancer trong hệ thống Linux. Load Blancer thường được sử dụng qua nhiều các application giúp tối ưu resource utilization, maximizing throughput, giảm latency, và đảm bảo fault-tolerant.
Links:Sử dụng Nginx như HTTP Load Balancer
Hướng dẫn cài đặt nginx 1.5.10
Hướng dẫn cơ bản nginx 1.5.10
Các phương pháp Load Blancer trong Nginx
- least-connected :Request tiếp theo đến các server với số lượng ít các active connection nhất.
- ip-hash :một hash-function sử dụng để xác định server nào lựa chọn request tiếp theo (dựa trên client’s IP address).
- round-robin : các request đến các application server sẽ được distributed trong round-robin.
Hình Ảnh dưới đây Load Balancer trong nginx
Cấu hình mặc định nginx load blancer
http {
upstream app1 {
server srv1.example.com;
server srv2.example.com;
server srv3.example.com;
}
server {
listen 80;
location / {
proxy_pass http://app1;
}
}
}
Cấu hình phía trên,có 3 trường hợp application giống nhau chạy trong srv1-srv3. Nếu ta không cấu hình phương thức rõ ràng, mặc định là round-robin
Least connected load balancingNginx sẽ cố gắng không để quá tải một ứng dụng máy chủ busy với quá nhiều yêu cầu, distributing request mới đến server ít busy hơn
upstream app1 {
least_conn;
server srv1.example.com;
server srv2.example.com;
server srv3.example.com;
}
Session persistence
Với round-robin hay least-connected load balancing, mỗi request của client có thể distributing đến các server khác nhau. với ip-hash, địa chỉ client sử dụng hashing key để xác định server nào trong server group lựa chọn cho request clients.
upstream app1 {
ip_hash;
server srv1.example.com;
server srv2.example.com;
server srv3.example.com;
}
Weighted load balancing
upstream app1 {
server srv1.example.com weight=3;
server srv2.example.com;
}
Cấu hình phía trên, giả sử có 5 request mới sẽ distributed qua các ứng dụng như sau: 3 requests sẽ trực tiếp đến srv1, 2 request đến srv2.
Kết LuậnNginx là một web server cấu hình phức tạp







No comments:
Post a Comment