HAProxy là gì? 3 loại Load Balancing trong HAProxy | BKHOST

HAProxy được xem là công cụ hỗ trợ cải thiện hiệu suất máy chủ hiệu quả nhất hiện nay. Vậy cụ thể thuật ngữ HAProxy là gì? Có những loại HAProxy nào? Hãy cùng BKHOST tìm hiểu trong bài viết dưới đây.

HAProxy là gì ?

HAProxy la gi

HAProxy – High Availability Proxy là một phần mềm mã nguồn mở phổ biến với TCP/HTTP Load Balancer và được phát triển trên Linux, macOS và FreeBSD.

Phần mềm này có khả năng cải thiện hiệu năng, tăng độ tin cậy của hệ thống bằng cách phân phối đều các lượng công việc trên nhiều máy chủ khác nhau như Web, App, cơ sở dữ liệu,…Ngoài ra, HAProxy còn là sự lựa chọn của nhiều Website lớn hiện nay như GoDaddy, GitHub, Stack Overflow, Twitter.

Một số thuật ngữ của HAProxy

Những thuật ngữ chính của HAProxy gồm có :

ACL

ACL – Access Control List là list trấn áp truy vấn được sử dụng để xem xét những điều kiện kèm theo và thực thi thực thi hành vi dựa vào hiệu quả xem xét đó. Ngoài ra, ACL còn được cho phép những lưu lượng mạng hoàn toàn có thể chuyển dời linh động dựa vào nhiều yếu tố như mẫu hoặc đường dẫn .

Ví dụ về một ACL như sau: acl url_blog path_beg /blog

Trong đó, ACL này phù hợp với một đường dẫn được bắt đầu bằng /blog, chẳng hạn như http://yourdomain.com/blog/blog-entry-1.

Backend

Backend Open trong quy trình thông số kỹ thuật HAProxy gồm có những sever nhận nhu yếu được chuyển tiếp. Về cơ bản, Backend có hai thông số kỹ thuật phổ cập đó là Load Balancing – thuật toán cân đối tải ; list sever và cổng. Mỗi Backend hoàn toàn có thể chứa nhiều sever giúp cải tổ hiệu suất tải và tăng độ đáng tin cậy của những dịch vụ. Đồng thời, nếu có một sever trong Backend xảy ra sự cố thì hàng loạt máy chủ còn lại sẽ đảm nhiệm việc chịu tải cho sever này .

Ví dụ: Cấu hình của hai loại Backend là web-backend và blog-backend trên cổng 80:

backend web-backend
balance roundrobin
server web1 web1.yourdomain.com:80 check
server web2 web2.yourdomain.com:80 check

backend blog-backend
balance roundrobin
mode http
server blog1 blog1.yourdomain.com:80 check
server blog1 blog1.yourdomain.com:80 check

Trong đó, balance roundrobin là thuật toán Load balancing còn mode http là chỉ định Proxy L7.

Frontend

Trong đó, là thuật toán Load balancing cònlà chỉ định Proxy L7 .Frontend là giao diện người dùng được sử dụng để xác lập những nhu yếu được chuyển tiếp tới Backend. Ngoài ra, Frontend cũng có thư mục Frontend để định nghĩa những thông số kỹ thuật HAProxy như :

  • Tập hợp các địa chỉ IP và cổng, chẳng hạn như địa chỉ IP 10.1.1.7:80, *443.
  • Các ACL giúp kiểm soát truy cập tốt hơn.
  • Một số quy tắc use_backend giúp xác định các ACL tương thích với default_backend.

Các loại Load Balancing trong HAProxy

Một số loại Load Balancing phổ biến trong HAProxy bao gồm:

No Load Balancing

Môi trường ứng dụng web cơ bản không có Load Balancing sẽ có giao diện như sau :no load balancingTừ hình ảnh trên cho thấy người dùng được liên kết trực tiếp với Web Server trải qua Internet đến yourdomain.com mà không có Load Balancing. Tuy nhiên, có một yếu tố so với quy mô này đó là nếu như Web Server gặp sự cố thì người dùng sẽ không hề triển khai bất kể liên kết nào với nó. Trong trường hợp khác, nếu có quá nhiều lượt truy vấn cùng một lúc thì Web Server sẽ không hề giải quyết và xử lý tải gây ra thực trạng lag, chậm hoặc mất liên kết .

Load Balancing L4

Load Balancing L4 đảm bảo cho tất cả lưu lượng mạng đều được phân bổ đến nhiều máy chủ. Phương pháp này cho phép chuyển tiếp các lưu lượng truy cập dựa trên IP và port đến http://yourdomain.com/anything. Sau đó, các lưu lượng này sẽ được Backend xử lý cho yourdomain.com trên cổng 80.

Sơ đồ minh họa về Load Balancing L4 :Load Balancing L4Khi người dùng truy vấn vào Load Balancing, nó sẽ chuyển tiếp nhu yếu đó đến Web-Backend của Backend Server được liên kết trên sever cơ sở tài liệu. Những Backend Server được chọn sẽ phản hồi trực tiếp nhu yếu của người dùng .

Load Balancing L7

Load Balancing L7 là lớp ứng dụng được cho phép chuyển tiếp những nhu yếu đến nhiều Backend Server khác nhau dựa trên nội dung mong ước. Ngoài ra, với chính sách này người dùng hoàn toàn có thể chạy nhiều sever ứng dụng web trên cùng một tên miền và port .Sơ đồ về một Load Balancing L7 cơ bản :Load Balancing L7Trong sơ đồ trên, nếu người dùng nhu yếu một yourdomain.com/blog thì HAProxy sẽ chuyển tiếp nhu yếu đó đến Blog Backend. Các nhu yếu khác sẽ được chuyển tiếp đến web-backend trên một ứng dụng khác. Trong đó, cả hai ứng dụng Backend này đều sử dụng cùng một sever cơ sở tài liệu .

Ví dụ: Một đoạn mã cấu hình trong frontend:

frontend http
bind *:80
mode http
acl url_blog path_beg /blog
use_backend blog-backend if url_blog
default_backend web-backend

Trong đó:

  • Cấu hình frontend có tên là http xử lý mọi lưu lượng được chuyển đến cổng 80.
  • acl url_blog path_beg / blog khớp với một yêu cầu nếu đường dẫn bắt đầu bằng /blog.
  • use_backend blog-backend nếu url_blog sử dụng ACL để ủy quyền lưu lượng truy cập đến blog-backend.
  • default_backend web-backend chỉ định rằng tất cả các lưu lượng khác sẽ được chuyển tiếp đến web-backend.

Tổng kết về HAProxy

Như vậy, thông qua bài viết trên đây bạn đọc đã hiểu hơn về HAProxy chưa nào! Đó là một phần mềm mã nguồn mở giúp cải thiện hiệu suất và độ tin cậy của hệ thống máy chủ. Để sử dụng HAProxy, bạn hãy tìm hiểu cách thức cài đặt và sử dụng sẽ được bật mí trong những bài viết sắp tới của BKHOST.

Nếu còn có câu hỏi nào tương quan đến HAProxy, hãy để lại ở bên phản hồi bên dưới, BKHOST sẽ vấn đáp bạn trong thời hạn sớm nhất .P / s : Bạn cũng hoàn toàn có thể truy vấn vào Blog của BKHOST để đọc thêm những bài viết san sẻ kiến thức và kỹ năng về lập trình, quản trị mạng, website, domain, hosting, vps, server, email, … Chúc bạn thành công xuất sắc .

  • haproxy load balancer
  • ha proxy là gì