Cách thực hiện kiểm tra sức khỏe hiệu quả trong HAProxy

Cach Thuc Hien Kiem Tra Suc Khoe Hieu Qua Trong Haproxy



Việc thiết lập HAProxy để hoạt động như bộ cân bằng tải của bạn sẽ chưa hoàn tất nếu bạn không xem xét việc kiểm tra tình trạng máy chủ hiệu quả. Việc triển khai kiểm tra tình trạng giúp cải thiện độ tin cậy và tính khả dụng của ứng dụng. HAProxy hỗ trợ thực hiện kiểm tra sức khỏe để kiểm tra các máy chủ phụ trợ để xác định tình trạng sức khỏe của chúng có phù hợp để sử dụng hay không.

Chỉ những máy chủ vượt qua quá trình kiểm tra tình trạng mới được thêm vào vòng quay. Bằng cách đó, máy chủ sẽ không được chọn để sử dụng nếu nó không vượt qua quá trình kiểm tra tình trạng, giảm thiểu nguy cơ ngừng hoạt động. Trong suốt bài đăng này, chúng tôi sẽ tìm hiểu sâu hơn về cách hoạt động của quá trình kiểm tra tình trạng trong HAProxy và những gì cần thiết để thực hiện kiểm tra tình trạng hiệu quả. Hãy bắt đầu nào!

Kiểm tra sức khỏe trong HAProxy là gì

Khi định cấu hình HAProxy, một nhiệm vụ là chỉ định máy chủ phụ trợ nào sẽ sử dụng cho ứng dụng của bạn. Bằng cách đó, lưu lượng truy cập sẽ được phân phối đến các máy chủ để tránh làm quá tải bất kỳ máy chủ nào. Tuy nhiên, kiểm tra tình trạng giúp xác định rằng máy chủ chỉ được chọn để xử lý lưu lượng nếu nó ổn.







Kiểm tra tình trạng được thực hiện trên mỗi máy chủ và chỉ những máy chủ vượt qua mới được thêm vào vòng quay để sử dụng trong cân bằng tải. Việc kiểm tra tình trạng được thực hiện bằng cách gửi các yêu cầu, chẳng hạn như TCP hoặc HTTP, đến điểm cuối được xác định trước trên máy chủ phụ trợ của bạn. Kết quả sức khỏe được máy chủ phụ trợ gửi lại sẽ xác định trạng thái của nó. Ví dụ: trạng thái của máy chủ có thể hiển thị LÊN hoặc XUỐNG hoặc gửi trạng thái ổn 200 để xác nhận rằng máy chủ vẫn hoạt động tốt.



Khi định cấu hình kiểm tra tình trạng, hãy đảm bảo rằng bạn có điểm cuối được xác định trước để sử dụng cho việc kiểm tra tình trạng. Có nhiều tùy chọn khác nhau mà bạn có thể sử dụng để thiết lập điểm cuối của mình. Ví dụ: bạn có thể trả về mã trạng thái hoặc thông báo tùy thuộc vào trạng thái của máy chủ. Tất cả các kiểm tra tình trạng được xác định trong phần phụ trợ của tệp cấu hình HAProxy của bạn. Mở tệp cấu hình và tạo phần giao diện người dùng của bạn.



$ sudo nano /etc/haproxy/haproxy.cfg

Đây là ví dụ cơ bản về phần giao diện người dùng liên kết cổng 80, đặt trang thống kê và chỉ định phần phụ trợ mặc định.





Bước tiếp theo là tạo phần phụ trợ. Sau đây là các ví dụ khác nhau về cách triển khai kiểm tra tình trạng hiệu quả trong HAProxy.



Ví dụ 1: Triển khai Kiểm tra sức khỏe chủ động hiệu quả

Một cách đơn giản để thực hiện kiểm tra tình trạng trong HAProxy là thiết lập các kiểm tra tình trạng hoạt động. Với tùy chọn này, HAProxy sẽ thử kết nối với máy chủ. Nếu không có phản hồi nào được gửi đi, nó cho rằng máy chủ không hoạt động tốt và loại bỏ nó khỏi vòng quay. Cách mặc định để thực hiện kiểm tra tình trạng hoạt động là thêm từ khóa “kiểm tra” trên mỗi dòng máy chủ để HAProxy kiểm tra tất cả.

Mặc dù ví dụ đầu tiên này có hiệu quả nhưng đây không phải là cách tốt nhất để triển khai kiểm tra tình trạng. Ngoài ra, nó sử dụng các cài đặt mặc định. Ví dụ: khoảng thời gian giữa các lần kiểm tra, được đánh dấu là inter, được đặt thành hai giây. Mùa thu, số lần kiểm tra không thành công được phép, được đặt thành ba. Để điều chỉnh các cài đặt này, hãy chỉ định khoảng thời gian và số lần kiểm tra ưu tiên như trong ví dụ sau:

Ví dụ 2: Triển khai Kiểm tra tình trạng HTTP

Với kiểm tra sức khỏe HTTP, HAProxy sẽ gửi yêu cầu HTTP đến tất cả các máy chủ có từ khóa “kiểm tra”. Dựa trên phản hồi, nó kết luận trạng thái của máy chủ. Ví dụ về phản hồi thành công của máy chủ nằm trong phạm vi 2xx hoặc 3xx. Phản hồi như 200 OK có nghĩa là máy chủ đang ở trạng thái tốt.

Trong ví dụ này, hãy thêm dòng “tùy chọn httpchk” vào phần phụ trợ của bạn.

Ví dụ 3: Làm việc với Yêu cầu GET

HAProxy gửi yêu cầu GET tới đường dẫn “/” khi thực hiện yêu cầu HTTP. Tuy nhiên, nếu điểm cuối của bạn được định cấu hình trong một đường dẫn khác, bạn có thể chỉ định đường dẫn URL chẳng hạn như “/health” và HAProxy sẽ gửi yêu cầu GET tới điểm cuối đó.

Dựa trên điểm cuối của bạn, máy chủ sẽ sử dụng phản hồi để xác định trạng thái của máy chủ. Đây là cách thực hiện nó:

Ví dụ 4: Chỉ định đường dẫn yêu cầu GET và trạng thái phản hồi

Với điểm cuối, bạn có thể chỉ định phản hồi thành công mong đợi từ yêu cầu GET của điểm cuối để xác định trạng thái của máy chủ. Trong ví dụ này, đường dẫn yêu cầu GET của chúng tôi là “/health” và chúng tôi mong đợi trạng thái phản hồi 200 để xác nhận rằng máy chủ ở trạng thái tốt để xử lý cân bằng tải và các tác vụ khác.

Sau khi bạn sửa đổi tệp cấu hình HAProxy, hãy khởi động lại HAProxy để các thay đổi có hiệu lực.

Đó là nó! Bạn đã thực hiện kiểm tra sức khỏe hiệu quả trên HAProxy của mình. Bạn có thể truy cập trang thống kê hoặc kiểm tra tệp nhật ký bằng lệnh sau để xác nhận rằng kiểm tra tình trạng đang hoạt động như mong đợi:

$ tail -f /var/log/haproxy.log

Phần kết luận

Bạn có thể thực hiện kiểm tra sức khỏe hiệu quả trong HAProxy theo nhiều cách khác nhau. Việc kiểm tra tình trạng được triển khai trong phần phụ trợ của tệp cấu hình HAProxy và bài đăng này đã đưa ra các ví dụ khác nhau về cách thực hiện. Kiểm tra phương pháp lý tưởng của bạn và thoải mái thực hiện kiểm tra sức khỏe hiệu quả trong HAProxy.