1hosting.com.vn| Load Balancing và các kỹ thuật cân bằng tải
FASTER - STRONGER - SAVER
sales@vietdata.com.vn   0914 83 55 22
Trang Chủ > Kiến thức dịch vụ > KB & Tips >Load Balancing và các kỹ thuật cân bằng tải

Load Balancing và các kỹ thuật cân bằng tải

Load Balancing

Cân bằng tải (load balancing) là nhu cầu tất yếu của những hệ thống có lượng tải lớn . Có nhiều cách khác nhau để thực hiện load balancing, trong đó yếu tố quyết định phụ thuộc vào nhu cầu thực tế, đặc điểm, độ phức tạp của hệ thống và chi phí đầu tư. Ví dụ, sử dụng các thiết bị cân bằng tải bằng phần cứng thì luôn có chi phí cao hơn nhiều so với dùng các phần mềm. 1Hosting xin giới thiệu các phương thức Load Balacing phổ biến

Các phương thức Load Balacing

• Round Robin DNS Load Balancing: Đây là dạng cân bằng tải đơn giản và dễ thực hiện nhất. Tận dụng tính năng round-robin có sẵn trong phần mềm DNS server như BIND để san tải qua nhiều hệ thống. Mục đích của DNS round-robin là quay vòng thông qua các máy chủ (nhóm máy chủ) nằm ở các IP khác nhau, chẳng hạn 1 group gồm 2 máy chủ web thì DNS round-robin sẽ thực hiện: request thứ nhất cho vào server 1, request thứ 2 cho vào server 2, request thứ 3 thì quay vòng lại server 1…….

Ưu điểm của phương pháp này là đơn giản, chi phí thấp và dễ thực hiện.

Nhược điểm của nó là DNS không hề biết server nào còn hoạt động, nó chỉ “pass” các request một cách tuần tự nên nếu server nào không hoạt động thì sẽ mất thì toàn bộ người dùng tại thời điểm đó, ngoài ra địa chỉ IP có thể bị cache bởi các DNS và các request có thể không được chuyển đến các bộ cân bằng tải của DNS server.

• Hardware Load Balancing: Cân bằng tải bằng phần cứng dựa vào việc “route” các gói tin TCP/IP đến các server khác nhau trong cluster.

Ưu điểm của phương pháp này là do sử dụng lớp mạng để định tuyến nên có cấu trúc mạnh cùng với tính sẵn sàng cao.

Nhược điểm là chi phí lớn và khó thay đổi theo ý người sử dụng.

• Software Load Balancing: thường sử dụng các bộ cần bằng tải là các phần mềm. Đây là giải pháp hiện đang rất được ưa chuộng

Ưu điểm là chi phí thấp, dễ tùy biến theo yêu cầu.

Nhược điểm là cần các hardware phụ để cách li bộ load balancer.

1Hosting giới thiệu 1 số phần mềm Free nhưng rất hiệu quả cho việc load balancer như sau:

  1. Linux Virtual Server
    Đây là một dự án nhằm mục đích nhóm cùng nhau nhiều server thực vào một khối duy nhất gọi là một  virtual server với tính sẵn sàng cao. LVS load balancer xử lý các kết nối từ client và pass chúng vào các server thực (thường gọi là Layer 4 switching) và có thể xử lý hầu hết các dịch vụ TCP/UDP thông dụng như HTTP, HTTPS, NNTP, FTP, DNS, ssh, POP3, IMAP4, SMTP, etc. Nó hoàn toàn trong suốt với người dùng hay nói cách khác người dùng không hề biết về sự có mặt của virtual server này.
    Homepage: http://www.LinuxVirtualServer.org/
  2. BalanceNG
    BalanceNG là giải pháp load balancing based-IP mới, nhỏ gọn, mạnh mẽ và dễ dàng setup. BalanceNG cho phép duy trì các session (session persistence), các phương pháp distribute khác nhau như : Round Robin, Random, Weighted Random, Least Session, Least Bandwidth, Hash, Agent, and Randomized Agent và một bộ kiểm tra trạng thái. BalanceNG cũng  hỗ trợ VRRP để setup HA trên nhiều nodes. Vì cho phép database thực thi ngay trên bộ nhớ nên BalanceNG sử dụng các IP-to-location (location-based) server cho tốc độ xử lý vô cùng mạnh mẽ.
    Homepage:http://www.inlab.de/balanceng/
  3. HAproxy
    HAproxy là một load balancer HTTP và TCP mạnh mẽ, nó cho phép duy trì trạng thái dựa vào cookies, thay đổi theo nội dung, các tính năng như automatic failover, Web-based reporting, advanced logging và nhiều đặc điểm khác. Hệ thống điều khiển trạng thái có thể xử lý 20,000 truy cập/giây thậm chí hàng chục nghìn kết nối cùng lúc!
    Homepage:http://haproxy.1wt.eu/
  4. MultiLoad
    MultiLoad là một load balancer cho phép redirects các HTTP requests đến các server có sẵn. Đó là giải pháp để cân bằng lượng tải và giấu đi vị trí thật của server. Các servers có mức độ ưu tiên khác nhau với traffic đang hoạt động.