NGINX: Hướng Dẫn Chi Tiết Cấu Hình Load Balancer
Load Balancer là một trong những tính năng mạnh mẽ của NGINX, cho phép phân phối yêu cầu từ người dùng đến nhiều backend server khác nhau.
Điều này giúp cải thiện hiệu suất, tăng tính sẵn sàng và khả năng mở rộng của hệ thống.
1. Các Khái Niệm Quan Trọng
Backend Server: Máy chủ xử lý yêu cầu thực tế từ client.
Upstream: Nhóm backend server được định nghĩa trong NGINX.
Load Balancing Algorithm: Thuật toán phân phối yêu cầu đến backend.
2. Cấu Hình Load Balancer
Định Nghĩa Upstream
Tệp cấu hình NGINX thường nằm trong /etc/nginx/nginx.conf
hoặc /etc/nginx/conf.d/*.conf
. Đầu tiên, định nghĩa nhóm backend server:
upstream
: Định nghĩa nhóm server.proxy_pass
: Chuyển yêu cầu từ client đến nhóm server được định nghĩa.
3. Thuật Toán Load Balancing
Round Robin (Mặc định)
Phân phối yêu cầu theo thứ tự vòng tròn:
Least Connected
Phân phối yêu cầu đến server có ít kết nối nhất:
IP Hash
Gửi tất cả yêu cầu từ một client IP đến cùng một server:
Weight
Phân phối yêu cầu dựa trên trọng số:
4. Kiểm Tra Sức Khỏe Backend
Để đảm bảo hệ thống hoạt động ổn định, bạn có thể kiểm tra sức khỏe backend bằng cách định nghĩa:
max_fails
: Số lần thử thất bại trước khi server bị đánh dấu không khả dụng.fail_timeout
: Khoảng thời gian server bị đánh dấu không khả dụng.
5. Tăng Hiệu Suất Load Balancer
Sử Dụng Keepalive
Sử dụng kết nối TCP giữ nguyên để giảm chi phí kết nối:
Cache Header
Giảm tải bằng cách cache kết quả:
6. Cấu Hình HTTPS Backend
Nếu backend server sử dụng HTTPS, cấu hình như sau:
7. Kiểm Tra Cấu Hình
Kiểm Tra Lỗi Cấu Hình
Kiểm tra cấu hình NGINX trước khi khởi động lại:
Khởi Động Lại NGINX
Tải lại NGINX sau khi chỉnh sửa:
Kiểm Tra Kết Quả
Sử dụng trình duyệt hoặc công cụ dòng lệnh như curl
:
8. Ví Dụ Cấu Hình Hoàn Chỉnh
Cấu Hình Cân Bằng Tải Với Least Connected
9. Kết Luận
Cấu hình Load Balancer trong NGINX là một công cụ quan trọng để cải thiện hiệu suất và độ tin cậy của hệ thống. Với các thuật toán linh hoạt, kiểm tra sức khỏe backend, và khả năng mở rộng, bạn có thể thiết kế hệ thống mạnh mẽ và tối ưu.
Last updated