HAProxy, viết tắt của High Av available Proxy, là 1 phần mềm open-souce thịnh hành TCPhường / HTTP Load Balancer cùng chiến thuật proxy hoàn toàn có thể chạy trên Linux, Solaris và FreeBSD. Công dụng thông dụng nhất của nó là nâng cao năng suất cùng độ tin cậy của môi trường server bằng phương pháp phân pân hận dung tích quá trình bên trên các hệ thống (ví dụ: website, ứng dụng, database ). Nó được sử dụng trong vô số môi trường thiên nhiên cấu hình cao, bao gồm: GitHub, Imgur, Instagram với Twitter.

Trong hướng dẫn này, ta sẽ cung ứng tổng quan liêu phổ biến về HAProxy là gì, thuật ngữ cân đối download cơ phiên bản và những ví dụ về phong thái nó được dùng để cải thiện công suất với độ tin cậy của môi trường hệ thống của bạn .

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

Thuật ngữ HAProxy

Có các thuật ngữ và quan niệm quan trọng đặc biệt Lúc bàn luận về thăng bằng tải và proxy. Ta sẽ lưu ý các thuật ngữ thường được sử dụng trong các phần phú sau.

Trước Lúc lấn sân vào các các loại cân bằng sở hữu cơ phiên bản, ta sẽ nói tới ACL, backend với đồ họa user .

Danh sách kiểm soát truy vấn (ACL)

Liên quan tiền cho cân bằng thiết lập, ACL được áp dụng để chất vấn một vài điều kiện với thực hiện một hành động (ví dụ: lựa chọn VPS hoặc ngăn yêu cầu) dựa vào công dụng chất vấn. lấy một ví dụ, câu hỏi áp dụng ACL cho phép chuyến qua lưu lượng mạng linch hoạt dựa vào những nguyên tố nlỗi khớp chủng loại với số lượng liên kết với backkết thúc .

lấy ví dụ về ACL:

acl url_blog path_beg /blog ACL này được so khớp nếu băng thông đòi hỏi của user bước đầu bằng / blog . Ví dụ: điều này đang trùng với đòi hỏi của http://yourtên miền.com/blog/blog-entry-1 .

Để được bố trí theo hướng dẫn cụ thể về phong thái sử dụng ACL, hãy coi Hướng dẫn cấu hình HAProxy .

Backend

Phần backend là một trong tập vừa lòng những hệ thống dìm các trải nghiệm được chuyến qua. Phần backend được định nghĩa trong phần backover của cấu hình HAProxy. Tại dạng cơ bản độc nhất của chính nó, một chương trình backkết thúc rất có thể được khẳng định bằng:

áp dụng thuật tân oán cân đối thiết lập làm sao danh sách các server cùng cổng

Một chương trình backend hoàn toàn có thể chứa một hoặc các server trong các số ấy – nói chung, vấn đề thêm những server hơn vào phần backkết thúc của bạn sẽ tăng khả năng tải tiềm năng của chúng ta bằng phương pháp giàn trải cài đặt bên trên nhiều VPS . Tăng độ tin cẩn cũng đạt được thông qua biện pháp này, trong ngôi trường hợp một trong những VPS backover của bạn không khả dụng.

Đây là 1 trong những ví dụ về thông số kỹ thuật hai chương trình backkết thúc , phần backover web và phần backkết thúc blog cùng với nhì web hệ thống trong những hệ thống , lắng tai trên cổng 80:

backkết thúc web-backend balance roundrobin VPS web1 web1.yourdomain.com:80 check hệ thống web2 web2.yourdomain name.com:80 kiểm tra backkết thúc blog-backover balance roundrobin mode http VPS blog1 blog1.yourdomain name.com:80 check VPS blog1 blog1.yourdomain name.com:80 check loại balance roundrobin chỉ định thuật toán cân đối tải, được trình bày chi tiết vào phần Thuật tân oán thăng bằng tải .

mode http chỉ định rằng proxy lớp 7 sẽ được sử dụng, điều đó được phân tích và lý giải vào phần Các nhiều loại cân bằng cài .

Tùy lựa chọn kiểm tra ở cuối thông tư VPS hướng đẫn rằng chất vấn triệu chứng phải được thực hiện bên trên các hệ thống backkết thúc đó.

Giao diện user

Giao diện user khẳng định bí quyết những tận hưởng sẽ tiến hành gửi tiếp nối các ứng dụng backend . Giao diện user được tư tưởng vào phần hình ảnh user của thông số kỹ thuật HAProxy. Định nghĩa của chúng bao hàm những yếu tắc sau:

một tập thích hợp các shop IPhường. cùng một cổng (ví dụ: 10.1.1.7:80, *: 443, v.v.) ACL những phương tiện use_backend , khẳng định những backover như thế nào vẫn sử dụng tùy trực thuộc vào ĐK ACL làm sao được so khớp và / hoặc luật pháp default_backend cách xử trí phần nhiều ngôi trường vừa lòng khác

Giao diện user có thể được thông số kỹ thuật mang đến những loại lưu giữ lượng mạng khác nhau, nhỏng được lý giải vào phần tiếp sau.

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

Bây giờ đồng hồ ta sẽ phát âm về những thành phần cơ phiên bản được thực hiện vào cân bằng thiết lập, ta hãy bước vào các loại cơ bạn dạng của cân đối sở hữu.

Không thăng bằng tải

Môi trường áp dụng web đơn giản và dễ dàng không tồn tại cân đối sở hữu rất có thể trông giống hệt như sau:

Trong ví dụ này, user liên kết trực tiếp cùng với website hệ thống của doanh nghiệp, trên yourtên miền.com với không có cân bằng sở hữu. Nếu một website VPS của công ty gặp sự cầm cố, user sẽ không thể truy cập vào web hệ thống của khách hàng nữa. Ngoài ra, ví như nhiều user đang cố gắng truy vấn mặt khác vào server của người tiêu dùng với server quan yếu xử lý cài, bọn họ có thể gặp buộc phải tình trạng lờ lững hoặc quan yếu kết nối được.

Cân bằng cài đặt lớp 4

Cách đơn giản duy nhất nhằm cân đối tải lưu giữ lượng mạng mang đến nhiều hệ thống là sử dụng cân đối download lớp 4 (lớp truyền tải). Cân bởi mua theo cách này sẽ chuyến qua lưu lượt truy cập của user dựa trên dải IPhường cùng cổng (nghĩa là ví như có những hiểu biết mang đến http://yourtên miền.com/anything , lưu lượng sẽ tiến hành đưa kế tiếp phần backkết thúc cách xử trí toàn bộ những những hiểu biết mang đến yourtên miền.com bên trên cổng 80 ). Để biết thêm chi tiết về lớp 4, hãy coi phần phú TCP của phần Giới thiệu về Mạng của ta .

Đây là sơ đồ một ví dụ dễ dàng về cân đối mua lớp 4:

*

User truy cập vào thăng bằng download, nhưng mà sẽ chuyến qua thử dùng của user vào group website backend của server backover . Server backkết thúc làm sao được lựa chọn sẽ phản hồi thẳng thử khám phá của user . Nói tầm thường, tất cả các server trong web-backend nên cung cấp văn bản đồng nhất nhau – nếu không user hoàn toàn có thể cảm nhận văn bản không đồng bộ. Lưu ý cả hai website VPS phần lớn kết nối với cùng một VPS database .

Cân bằng cài đặt lớp 7

Một cách không giống phức tạp hơn nhằm cân đối mua lưu lại lượng mạng là sử dụng thăng bằng mua lớp 7 (lớp ứng dụng). Sử dụng lớp 7 có thể chấp nhận được cỗ cân đối mua chuyển tiếp các đòi hỏi đến các hệ thống backkết thúc không giống nhau dựa trên văn bản hưởng thụ của user . Chế độ thăng bằng sở hữu này cho phép bạn chạy những server ứng dụng web trong và một tên miền cùng cổng. Để biết thêm cụ thể về lớp 7, hãy xem phần phụ HTTP của phần Giới thiệu về Mạng của ta .

Dưới đó là sơ vật một ví dụ đơn giản dễ dàng về thăng bằng download lớp 7:

*

Trong ví dụ này, nếu như user hưởng thụ yourdomain name.com/blog , chúng ta sẽ tiến hành chuyển tiếp đến phần backover blog , là 1 trong những tập đúng theo những VPS chạy ứng dụng blog. Các đề nghị khác được đưa tiếp nối phần backend web , rất có thể đang làm việc một vận dụng khác. Cả nhị ứng dụng backover hồ hết sử dụng cùng một server database , vào ví dụ này.

Xem thêm: Thu Tiền Tiếng Anh Là Gì ? Từ Vựng Tiếng Anh Chuyên Ngành Kinh Tế

Một đoạn mã của cấu hình giao diện user mẫu mã sẽ hệt như sau:

frontkết thúc http bind *:80 mode http acl url_blog path_beg /blog use_backend blog-backover if url_blog default_backend web-backend Điều này cấu hình đồ họa user mang tên http , giao diện này cách xử lý tất cả giữ lượng mang đến bên trên cổng 80.

acl url_blog path_beg /blog trùng với cùng 1 yên cầu nếu đường truyền của thử dùng của user bắt đầu bằng / blog .

use_backend blog-backover if url_blog thực hiện ACL nhằm ủy quyền giữ lượng truy cập mang đến blog-backend .

default_backover web-backkết thúc hướng đẫn rằng tất cả lưu lượng không giống sẽ được đưa tiếp đến web-backend .

Các thuật tân oán cân đối tải

Thuật tân oán cân đối thiết lập được sử dụng khẳng định hệ thống làm sao, vào lịch trình backover , sẽ tiến hành lựa chọn Lúc cân bằng cài. HAProxy cung ứng một trong những tùy chọn cho các thuật tân oán. Ngoài thuật toán thù cân bằng cài, hệ thống rất có thể được gán một tsay đắm số trọng số nhằm thao tác làm việc gia tốc VPS được lựa chọn so với những hệ thống không giống.

Bởi vì HAProxy hỗ trợ tương đối nhiều thuật toán thù cân bằng tải, ta đang chỉ biểu lộ một vài trong các bọn chúng ở chỗ này. Xem Hướng dẫn cấu hình HAProxy để hiểu danh sách không thiếu những thuật tân oán.

Một số thuật toán thù thường được áp dụng như sau:

roundrobin

Round Robin lần lượt chọn các server . Đây là thuật toán thù mang định.

không nhiều nhất

Chọn VPS bao gồm số lượng kết nối ít nhất – khuyến cáo cho những phiên dài ra hơn nữa. Các hệ thống trong và một chương trình backkết thúc cũng khá được tảo theo kiểu vòng tròn.

nguồn

Thao tác này lựa chọn VPS sẽ thực hiện dựa trên băm của IP mối cung cấp tức là shop IP. của user của bạn. Đây là 1 phương thức đảm bảo rằng user đã kết nối với 1 VPS .

Phiên nắm định

Một số ứng dụng hưởng thụ user thường xuyên kết nối với một hệ thống backend . Sự bền bỉ này đã có được thông qua các phiên cố định và thắt chặt, bằng cách áp dụng thông số kỹ thuật appsession trong phần backover kinh nghiệm nó.

Kiểm tra mức độ khỏe

HAProxy thực hiện bình chọn tình trạng nhằm xác minh xem hệ thống backover gồm sẵn sàng chuẩn bị xử lý các đòi hỏi hay là không. Vấn đề này tránh đề xuất xóa thủ công server ngoài chương trình backover ví như nó ko khả dụng. Kiểm tra triệu chứng khoác định là cố gắng thiết đặt kết nối TCP.. cùng với server , Có nghĩa là nó kiểm tra coi hệ thống backkết thúc có đã lắng tai cửa hàng IPhường. cùng cổng sẽ cấu hình hay không.

Nếu một hệ thống không đánh giá được chứng trạng cùng cho nên vì vậy cần thiết ship hàng các yên cầu, nó đang auto bị vô hiệu hóa vào phần backkết thúc , tức là lưu giữ lượt truy vấn sẽ không còn được đưa sau đó nó cho đến khi nó chuyển động quay trở về. Nếu tất cả các hệ thống vào công tác backend bị lỗi, các dịch vụ sẽ không khả dụng cho tới khi tối thiểu một trong số hệ thống backover đó vận động thông thường trở về.

Đối cùng với một số một số loại backkết thúc nhất quyết, ví dụ như VPS database trong một số trong những tình huống nhất định, soát sổ chứng trạng mang định không được để xác định xem VPS bao gồm còn chuyển động hay không.

Các giải pháp khác

Nếu bạn Cảm Xúc HAProxy hoàn toàn có thể thừa phức hợp so với nhu yếu của người tiêu dùng, những giải pháp sau hoàn toàn có thể phù hợp hơn:

Server ảo Linux (LVS) - Bộ cân bằng cài lớp 4 đơn giản, hối hả bao gồm trong không ít bản phân pân hận Linux

Nginx - Một web VPS nhanh hao với tin cẩn cũng khá được dùng cho những mục tiêu proxy với cân bằng sở hữu. Nginx thường được sử dụng cùng với HAProxy mang lại khả năng nén cùng bộ lưu trữ đệm của nó

Tính khả dụng cao

Các setup cân đối sở hữu lớp 4 cùng 7 được biểu thị trước khi cả nhì mọi áp dụng cỗ thăng bằng tải nhằm phía lưu lượt truy vấn cho một trong tương đối nhiều server backover . Tuy nhiên, cỗ thăng bằng cài của công ty là 1 trong điểm không thắng cuộc nhất trong những cài đặt này; nếu như nó chạm chán sự nỗ lực hoặc vượt cài đặt cùng với các trải nghiệm, nó hoàn toàn có thể gây nên độ trễ cao hoặc thời gian chấm dứt chuyển động cho hình thức dịch vụ của bạn.

Cài đặt tính khả dụng cao (HA) là một trong cơ sở hạ tầng không tồn tại một điểm lỗi như thế nào. Nó ngăn chặn một lỗi hệ thống độc nhất vô nhị đổi thay sự kiện thời gian chết bằng phương pháp thêm dự phòng vào gần như lớp phong cách xây dựng của chúng ta. Bộ cân bằng download sản xuất ĐK dự phòng mang đến lớp backover ( web VPS / ứng dụng), cơ mà để setup tính khả dụng cao đích thực, bạn cũng rất cần được tất cả cỗ cân đối download dự trữ.

Dưới đấy là sơ thứ thiết đặt tính sẵn sàng cao cơ bản:

*

Trong ví dụ này, các bạn có nhiều cỗ cân đối thiết lập (một bộ chuyển động với một cỗ bị động) phía sau một hệ trọng IP tĩnh hoàn toàn có thể được ánh xạ lại từ bỏ VPS này quý phái VPS không giống. Khi user truy cập trang web , thử khám phá vẫn chuyển qua can hệ IPhường phía bên ngoài mang đến bộ cân đối download chuyển động. Nếu cỗ cân đối thiết lập kia không thành công, cách thức đổi khác dự trữ của bạn sẽ vạc hiện tại nó cùng auto gán lại địa chỉ IPhường. cho 1 trong những hệ thống bị động. Có một số trong những phương pháp khác nhau để thực thi cài đặt HA dữ thế chủ động / tiêu cực. Để bài viết liên quan, hãy đọc phần Cách áp dụng IPhường nổi này .

Tóm lại

Đến phía trên bạn đã sở hữu phát âm biết cơ phiên bản về thăng bằng mua và biết một số trong những biện pháp cơ mà HAProxy hỗ trợ nhu yếu thăng bằng cài đặt của người sử dụng, bạn đã có một căn nguyên bền vững để bắt đầu cải thiện hiệu suất với độ tin cẩn của môi trường hệ thống của khách hàng .

Các khuyên bảo sau cung ứng những ví dụ chi tiết về cài đặt HAProxy:

Cách áp dụng HAProxy làm cho bộ cân bằng cài lớp 4 đến server ứng dụng WordPress bên trên Ubuntu 14.04