Nhiều trang web có lưu lượng truy cập cao được yêu cầu phục vụ hàng trăm nghìn yêu cầu đồng thời từ người dùng, tất cả đều theo cách nhanh nhất có thể. Trong một số trường hợp, các yêu cầu này có thể là hàng triệu, và đơn giản là không thể thực hiện được tất cả chúng bằng cách chỉ sử dụng một máy chủ, cho dù nó mạnh đến mức nào.
Trong những tình huống này, để đáp ứng được những yêu cầu cao về máy tính hiện đại nói chung, yêu cầu phải thêm nhiều máy chủ (trong trường hợp này, chúng ta nói về một máy chủ). Quá trình này phải là "vô hình" đối với người dùng, do đó sẽ luôn thấy cùng một điểm truy cập. Bộ cân bằng tải là phần làm cho khả năng tàng hình này trở nên khả thi.
Trình cân bằng tải phân phối tải mạng trên nhiều máy chủ một cách hiệu quả nhất, đảm bảo độ tin cậy bằng cách gửi yêu cầu tới các máy chủ trực tuyến và có khả năng thực hiện các yêu cầu đó.
HAProxy là một trong những lựa chọn phổ biến nhất cho phần mềm cân bằng tải.
Hướng dẫn này sẽ thực hiện cài đặt và cấu hình HAProxy trên một máy chủ CentOS 7.
HAProxy có sẵn trên kho CentOS, nhưng có thể không có bản phát hành mới nhất. Để kiểm tra xem phiên bản nào hiện có sẵn, hãy thực hiện lệnh sau:
# yum info haproxy
v Yêu cầu
Để xây dựng HAProxy từ nguồn, ta cần các công cụ để tải và biên dịch nó. Các gói cần thiết bao gồm: wget, gcc và PCRE, có thể cài đặt băng lệnh sau:
# yum install wget gcc pcre-static pcre-devel
v Lấy mã nguồn
Sử dụng wget để hoàn thành nhiệm vụ này.
$ wget http://www.haproxy.org/download/1.7/src/haproxy-1.7.5.tar.gz -O ~/Packages/haproxy.tar.gz
Tiến hành giải nén và chuyển đến thư mục:
$ tar xzvf ~/Packages/haproxy.tar.gz -C ~/Packages
$ cd haproxy-1.7.5/
v Xây dựng và cài đặt HAProxy
$ make TARGET=generic ARCH=native CPU=x86_64 -j8
# make install
Trong haproxy-1.7.5/ ví dụ, bạn sẽ tìm thấy các tập tin khác nhau. Sao chép haproxy.init (cài đặt init) trong /etc/init.d:
# cp haproxy-1.7.5/examples/haproxy.init /etc/init.d/haproxy
Thay đổi quyền:
# chmod 755 /etc/init.d/haproxy
Tạo các thư mục và file thống kê số liệu:
# mkdir -p /etc/haproxy
# mkdir -p /run/haproxy
# mkdir -p /var/lib/haproxy
# touch /var/lib/haproxy/stats
Tạo người dùng mới với tên là haproxy:
# useradd -r haproxy
Một cấu hình cơ bản của HAProxy cho biết hệ thống cân bằng tải này với kiểu kết nối phải được lắng nghe và có máy chủ cần chuyển tiếp các kết nối đến. Điều này được thực hiện bằng cách tạo một tập tin mới, /etc/haproxy/haproxy.cfg sẽ chứa các thiết lập cần thiết. Hãy cấu file này như sau:
global
log /dev/log local0
log /dev/log local1 notice
chroot /var/lib/haproxy
stats socket /run/haproxy/admin.sock mode 660 level admin
stats timeout 30s
user haproxy
group haproxy
daemon
defaults
log global
mode http
option httplog
option dontlognull
timeout connect 5000
timeout client 50000
timeout server 50000
frontend http_front
bind *:80
stats uri /haproxy?stats
default_backend http_back
backend http_back
balance roundrobin
server my_server private_IP:80 check
server my_server private_IP:80 check
Lưu cấu hình và khởi động lại HAProxy:
# systemctl restart haproxy
HAProxy sử dụng các thuật toán khác nhau cho các kết nối định tuyến theo cách tốt nhất có thể, đó là công việc mà không thể được thực hiện bằng tay.
HAProxy là mã nguồn mở và một chuẩn de facto trong cân bằng tải.
=> Xem file đính kèm
» Danh sách Tập tin đính kèm:
» Tin mới nhất:
» Các tin khác: