HAProxy bộ cân bằng tải phần mềm nguồn mở phổ biến, gần đây đã công bố sự ra mắt của phiên bản mới của "HAProxy 3.0", đi kèm với một loạt bản cập nhật hứa hẹn cải thiện tính đơn giản, hiệu suất, độ tin cậy và bảo mật.
Đối với những người chưa biết về HAProxy, bạn nên biết rằng điều này là bộ cân bằng tải cho phép bạn phân phối lưu lượng HTTP và các yêu cầu TCP giữa một nhóm máy chủ. HAProxy tính đến nhiều yếu tố, chẳng hạn như tính khả dụng của máy chủ, đánh giá mức tải và triển khai các biện pháp đối phó DDoS.
Những tính năng mới chính của HAProxy 3.0
Phiên bản mới này được trình bày của HAProxy 3.0, được định vị là phiên bản hỗ trợ dài hạn (LTS) và sẽ được hỗ trợ cho đến năm 2029 và có một phần cửa hàng crt mới cung cấp một cách linh hoạt để lưu trữ và sử dụng chứng chỉ SSL, tách biệt việc lưu trữ khỏi việc sử dụng trên giao diện người dùng. Điều này cho phép bạn chỉ định riêng vị trí của từng thành phần chứng chỉ, chẳng hạn như tệp chứng chỉ, tệp khóa và tệp phản hồi OCSP.
Một trong những thay đổi nổi bật là Khả năng mở rộng để cân bằng các thông báo nhật ký hệ thống. Người ta đề cập rằng tiến trình đã được thực hiện để giờ đây bạn có thể đặt trọng số trên các dòng máy chủ trong chế độ logbackends của mình. Trong khi đó, thuật toán cố định, vốn bị giới hạn trong việc đăng ký các chương trình phụ trợ, giờ đây cũng áp dụng cho các chương trình phụ trợ chế độ tcp.mode http.
Hơn nữa, trong HAProxy bây giờ có thể đặt hạn chế cho một số yêu cầu nhất định được giao thức HTTP/2 cho phép có thể gây ra sự cố, cho phép bạn xác định các ứng dụng hoặc ứng dụng khách bị lỗi có hành vi không phù hợp
Trong HAProxy 3.0, một chỉ thị "hướng dẫn" mới được trình bày, chỉ thị này có thể được sử dụng trong các phần "frontend", "backend" và "listen" để liên kết một mã định danh duy nhất với các phần này, cho phép lưu số liệu thống kê liên quan ngay cả sau khi khởi động lại. Ngoài ra, lệnh "kết xuất tệp thống kê" đã được thêm vào để lưu số liệu thống kê vào một tệp và lệnh "tệp thống kê" đã được thêm để đọc số liệu thống kê từ tệp sau khi khởi động lại.
Cũng, Lượng dữ liệu có thể thu được đã được mở rộng, cho phép bạn yêu cầu thông tin về số lượng phiên HTTP mở, kích thước của hàng đợi yêu cầu và số lượng phiên đồng thời được phép.
Mặt khác, vàl hiệu suất của vùng lưu trữ bộ nhớ được tạo bằng bảng dính đã tăng lên đáng kể bằng cách triển khai cơ chế khóa hiệu quả hơn, giúp cải thiện đáng kể hiệu suất trên các hệ thống đa luồng. Ví dụ: trên hệ thống có 80 luồng, hiệu suất đã tăng gấp 6 lần.
Trong cấu hình nhiều trang nơi chứng chỉ TLS được chọn dựa trên ID máy chủ do tiện ích mở rộng TLS SNI cung cấp, đối số "default-crt" đã được thêm để chọn chứng chỉ mặc định nếu chứng chỉ hiện có không khớp với trang web.
Se đã thêm các hành động “set-fc-tos” và “set-bc-tos” để thay thế trường DS (Dịch vụ khác biệt) trên các gói IP ở phần phụ trợ hoặc giao diện người dùng và các hành động “set-fc-mark” và “set-bc-mark” để đánh dấu các gói IP để liên kết sau này với một bảng định tuyến cụ thể.
Hiện tại, việc gửi nhiều lệnh tới API thời gian chạy trong một yêu cầu được phân tách bằng ký tự dòng mới bị cấm; cấm đặt từ khóa “kích hoạt” cho máy chủ động; và việc xác minh các URI không chuẩn đã được tăng cường.
Của những thay đổi khác nổi bật của phiên bản mới này:
- Tiền tố "@virt" có thể được sử dụng để tạo các tệp ACL và bản đồ ảo không được lưu vào đĩa, với nội dung được quản lý thông qua API thời gian chạy.
- Tiền tố “@opt” khả dụng, chỉ sử dụng tệp ảo nếu không có tệp thực trên đĩa.
- Việc phân tích cú pháp giờ đây chặt chẽ hơn trong quá trình xử lý HTTP/1 để xác thực mục tiêu yêu cầu.
- Các chỉ thị chung (http-err-codes và http-fail-codes) đã được giới thiệu cho phép bạn đặt mã trạng thái HTTP để theo dõi.
- Phương thức Tìm nạp uuid hiện có một đối số tùy chọn đặt phiên bản của UUID thành 4 hoặc 7
- Hiệu suất của các tập lệnh Lua đơn luồng được tải bằng lệnh "lua-load" đã được cải thiện đáng kể.
- Hiện đã hỗ trợ định dạng dòng nhật ký bằng JSON và CBOR.
- Hiện tại có thể tạo số nhận dạng ở định dạng UUIDv7.
cuối cùng nếu bạn là muốn biết thêm về nó, bạn có thể kiểm tra các chi tiết trong liên kết theo dõi.