HAPROXY LÀ GÌ

Tổng quan

HAProxy viết tắt của High Availability Proxy, là chính sách mã mối cung cấp msinh sống khét tiếng áp dụng cho chiến thuật cân bằng cài đặt TCP/HTTP tương tự như giải pháp sever Proxy (Proxy Server). HAProxy rất có thể điều khiển xe trên những mỗi trường Linux, Solaris, FreeBSD. Công dụng phổ biến độc nhất vô nhị của HAProxy là cải thiện hiệu năng, tăng cường độ tin cẩn của khối hệ thống sever bằng phương pháp phân phối hận khối lượng công việc bên trên nhiều máy chủ (nlỗi Web, App, cửa hàng dữ liệu). HAProxy hiện vẫn với đang được thực hiện vày các trang web bự nhỏng GoDaddy, GitHub, Bitbucket, Staông xã Overflow, Reddit, Speedtest.net, Twitter với trong vô số sản phẩm hỗ trợ vì Amazon Web Service.

Bạn đang xem: Haproxy là gì

Thuật ngữ trong HAProxy

Có tương đối nhiều thuật ngữ với có mang được thực hiện trong HAProxy Khi nối về cân bằng tải (Load balancing) cùng sever. Ở phía trên, tôi đang triệu tập vào các khái niệm phổ biến được sử dụng các trong HAProxy

Access Control List (ACL)

Access Control List (ACL) áp dụng để bình chọn một số ĐK cùng tiến hành hành vi tiếp theo dựa trên kết quả kiểm tra(VD lựa chọn một server, chặn một request). Sử dụng ACL có thể chấp nhận được thay đổi lưu giữ lượng mạng linch hoạt dựa vào những yếu tố khác nhau (VD: dựa vào đường dẫn, dựa trên con số kết nối cho tới backend)

Backend

Backkết thúc là tập những hệ thống dấn những request đã có thay đổi (HAProxy thay đổi những request cho tới các backend). Các Backend được quan niệm trong mục backend lúc cấu hình HAProxy.

2 cấu hình hay được quan niệm vào mục backend:

Thuật tân oán cân đối thiết lập (Round Robin, Least Connection, IP. Hash) Danh sách những Server, Port (Nhận, giải pháp xử lý request)

Backkết thúc có thể chứa một hoặc nhiều server. Việc thêm các VPS vào backkết thúc sẽ nâng cấp tải, tính năng, tăng độ tin tưởng hình thức. Và khi một VPS trực thuộc backkết thúc không khả dụ, những VPS không giống ở trong backkết thúc sẽ chịu đựng sở hữu thay đến server xảy ra vụ việc.

lấy một ví dụ minch họa


backend web-backover balance roundrobin hệ thống web1 web1.yourdomain name.com:80 check server web2 web2.yourdomain name.com:80 checkbackend bloginar.net-backover balance roundrobin mode http server bloginar.net1 bloginar.net1.yourdomain.com:80 check server bloginar.net1 bloginar.net1.yourtên miền.com:80 check
balance roundrobin hướng dẫn và chỉ định thuật tân oán cân đối tải: những Request phân phối tuần từ cho tới những hệ thống, đây cũng là cách tiến hành được áp dụng mang định.

mode http hướng đẫn proxy layer 7 sẽ được sử dụng

Frontend

Frontover quan niệm biện pháp những request điều tiết cho tới backkết thúc. Các cấu hình Frontend được định nghĩa trong mục frontkết thúc khi cấu hình HAProxy.

Các cấu hình frontover bao gồm các thành phần:

Tập các IPhường cùng port (VD: 10.10.10.86:80, *:443) Các ACL Các backover dấn, cách xử trí request.

Các loại thăng bằng tải

Không gồm thăng bằng tải

Kiến trúc dễ dàng nhất lúc tiến hành vận dụng Web

*

Trong ví dụ, người dùng vẫn kết nối thẳng tới WebVPS (https://bloginar.netinar.net/), cùng không áp dụng dịch vụ cân bằng thiết lập. Nếu website VPS xẩy ra sự việc, người tiêu dùng sẽ không thể liên kết tới Web được nữa. Và nếu vào trường hòa hợp đa số người thuộc truy vấn, webserver có thể ko thỏa mãn nhu cầu được những request, dẫn cho trải nhiệm thực hiện đã giảm sút.

Xem thêm: Top 5 Trang Web Tạo Ảnh Đại Diện Facebook Online Trong 2021, Top 5 Trang Web Tạo Ảnh Bìa Facebook, Avatar, Ảnh

Layer 4 Load Balancing

Cách đơn giản và dễ dàng độc nhất nhằm cân đối tải những request cho tới nhiều VPS là sử dụng cân bằng download nấc layer 4 TCP (Tầng vận chuyển - transport layer). Phương thơm pháp sẽ điều phối những request dựa vào IP. với Port. Theo ví dụ, trường hợp request tới tương tác https://bloginar.netinar.net/ thì request sẽ được điều nhắm đến backover web-backkết thúc để cách xử trí.

Lưu ý:

Hai sever web đề xuất Ship hàng ngôn từ như là nhau. Nếu ko, người tiêu dùng đang dìm biết tin không thống độc nhất (Tùy theo thuật tân oán cân đối tải). Nên sử dụng thông thường database giữ lại 2 web VPS.

*

Layer 7 Load Balancing

Phương pháp phức hợp hơn, cân đối mua thực hiện ở tầng layer 7 nút request (Tầng vận dụng - Application layer). Sử dụng cỗ nên bởi tại layer 7 sẽ điều hướng request cho tới các backkết thúc khác biệt dựa vào ngôn từ của request.

Chế độ này chất nhận được bạn cũng có thể xúc tiến các web server khác biệt trên thuộc 1 tên miền.

*

Trong hình, nếu như người tiêu dùng gửi request cho tới ‘https://bloginar.netinar.net/’, haproxy sẽ điều phối request cho tới 1, còn Lúc người dùng request cho tới https://bloginar.netinar.net/about/ haproxy vẫn điều hường request cho tới web-2-backend

Các thuật toán thù cân bằng tải

Thuật tân oán cân bằng thiết lập được thực hiện nhắm quan niệm các request được điều nhắm tới những server phía bên trong backend trong quá trình load balancing. HAProxy cung cấp một vài thuật toán mặc định:

roundrobin: những request sẽ tiến hành gửi cho VPS theo đợt. Đây là thuật tân oán khoác định được sử dụng đến HAProxy leastconn: những request sẽ được đưa mang đến VPS làm sao tất cả ít liên kết cho nó nhất source: những request được đưa cho server bằng những hash của IP người tiêu dùng. Pmùi hương pháp này góp người dùng đảm bảo an toàn luôn liên kết cho tới một server

Sticky Sessions

Health Check

HAProxy sử dụng health check nhằm phân phát hiện nay các backkết thúc server chuẩn bị xử trí request. Kỹ thuật này đang rời Việc thải trừ server ngoài backkết thúc thủ công lúc backover hệ thống ko sẵn sàng. health check sẽ cố kỉnh gắnh tùy chỉnh kết nối TCPhường. tới VPS nhằm khám nghiệm backover server có chuẩn bị sẵn sàng xử trí request.

Nếu health check cần thiết kết nối tới server, nó đang tự động loại trừ hệ thống khởi backend, những traffic cho tới sẽ không còn được forward cho tới hệ thống cho đến Khi nó rất có thể triển khai được health check. Nếu tất cả server ở trong backend phần lớn xảy vụ việc, các dịch vụ đang trnghỉ ngơi bên trên ko khả dụ (trả lại status code 500) cho tới lúc 1 server ở trong backkết thúc từ tâm lý ko khả dụ đưa sang trọng tâm lý sẵn sàng chuẩn bị.

Nguồn

https://www.digitalocean.com/community/tutorials/an-introduction-to-haproxy-and-load-balancing-concepts

https://viblo.asia/p/huong-dan-su-dung-haproxy-cho-load-balancing-ung-dung-4P856jp95Y3

https://www.haproxy.com/bloginar.net/load-balancing-affinity-persistence-sticky-sessions-what-you-need-to-know/