Bộ cân bằng tải là một thành phần thiết yếu của bất kỳ thiết lập cơ sở dữ liệu sẵn có nào. Chúng được sử dụng để tăng công suất và độ tin cậy của các hệ thống và ứng dụng quan trọng của bạn bằng cách ngăn bất kỳ máy chủ nào trở nên quá tải. Chúng tôi nói rất nhiều về chúng trên blog Somenines, chẳng hạn như tại sao bạn cần chúng và cách chúng hoạt động. Một trong những trình cân bằng tải phổ biến nhất hiện có cho MySQL và MariaDB là HAProxy.
Về tính năng, HAProxy không thể so sánh với ProxySQL hoặc MaxScale. Tuy nhiên, HAProxy là một trình cân bằng tải nhanh, mạnh mẽ sẽ hoạt động hoàn toàn tốt trong mọi môi trường miễn là ứng dụng có thể thực hiện phân tách đọc / ghi và gửi các truy vấn CHỌN đến một chương trình phụ trợ và tất cả ghi và CHỌN ... ĐỂ CẬP NHẬT thành một tệp riêng phụ trợ.
Theo dõi tất cả các chỉ số do HAProxy cung cấp là rất quan trọng; bạn phải có thể biết trạng thái proxy của mình, đặc biệt là biết liệu bạn có gặp phải bất kỳ sự cố nào hay không.
ClusterControl luôn cung cấp trang trạng thái HAProxy hiển thị trạng thái của proxy trong thời gian thực. Giờ đây, với bảng điều khiển SCUMM mới dựa trên Prometheus (Quản lý và giám sát hợp nhất vàinines ClusterControl), bạn có thể dễ dàng theo dõi các chỉ số đó thay đổi như thế nào theo thời gian.
Bài đăng trên blog này sẽ khám phá các số liệu khác nhau được trình bày trong bảng điều khiển HAProxy SCUMM.
Khám phá Trang tổng quan HAProxy trong ClusterControl
Tất cả các bảng điều khiển Prometheus và SCUMM đều bị tắt theo mặc định trong ClusterControl. Tuy nhiên, để triển khai chúng cho bất kỳ cụm nào chỉ cần một cú nhấp chuột. Nếu bạn giám sát nhiều cụm bằng ClusterControl, bạn có thể sử dụng lại cùng một phiên bản Prometheus cho mỗi cụm.
Sau khi được triển khai, bạn có thể truy cập trang tổng quan HAProxy. Hãy xem dữ liệu có sẵn trong trang tổng quan:
Điều đầu tiên bạn sẽ thấy khi điều hướng đến trang tổng quan HAProxy là thông tin về trạng thái của phụ trợ của bạn. Ở đây, xin lưu ý rằng những gì bạn thấy có thể phụ thuộc vào loại cụm và cách bạn đã triển khai HAProxy. Trong trường hợp này, chúng tôi đã triển khai một cụm Galera và HAProxy được triển khai theo kiểu vòng tròn. Do đó, bạn sẽ thấy ba phần phụ trợ cho lần đọc và ba phần cho lần ghi - tổng cộng sáu phần. Đây cũng là lý do tại sao bạn thấy tất cả các phụ trợ được đánh dấu là “Lên”.
Trong một kịch bản có cụm sao chép, mọi thứ sẽ khác vì HAProxy sẽ được triển khai trong một phân tách đọc / ghi và các tập lệnh sẽ chỉ giữ một máy chủ (chính) duy nhất được thiết lập và chạy trong trình viết. phụ trợ.
Lưu ý, đây là lý do tại sao bên dưới bạn thấy hai máy chủ phụ trợ được đánh dấu là "Không hoạt động":
Trong biểu đồ sau, bạn sẽ thấy dữ liệu được gửi và nhận bởi cả hai backend (từ HAProxy đến các máy chủ cơ sở dữ liệu) và frontend (giữa HAProxy và các máy khách):
Bạn cũng có thể kiểm tra phân phối lưu lượng truy cập giữa các chương trình phụ trợ trong cấu hình HAProxy của mình. Trong trường hợp này, chúng tôi có hai phần phụ trợ và các truy vấn được gửi qua cổng 3308, hoạt động như điểm truy cập tổng hợp tới cụm Galera của chúng tôi:
Tiếp theo, bạn có thể xem cách phân phối lưu lượng truy cập trên tất cả các máy chủ phụ trợ. Trong trường hợp này - do mô hình truy cập vòng tròn - dữ liệu ít nhiều được phân phối đồng đều trên cả ba máy chủ Galera phụ trợ:
Thông tin về các phiên, bao gồm số phiên đã được mở từ HAProxy đến phần phụ trợ máy chủ, cũng có thể được giám sát, như được thấy trong biểu đồ sau. Bạn cũng có thể theo dõi số lần mỗi giây một phiên mới đã được mở đối với chương trình phụ trợ và các chỉ số đó trông như thế nào trên cơ sở mỗi máy chủ phụ trợ.
Hai biểu đồ sau hiển thị số phiên tối đa trên mỗi máy chủ phụ trợ và khi nào sự cố kết nối đã xuất hiện. Điều này có thể khá hữu ích cho các mục đích gỡ lỗi trong đó bạn gặp lỗi cấu hình trên phiên bản HAProxy của mình và các kết nối bắt đầu giảm.
Biểu đồ tiếp theo này có khả năng có giá trị hơn vì nó hiển thị các số liệu khác nhau liên quan đến lỗi xử lý, chẳng hạn như lỗi, lỗi yêu cầu, thử lại ở phía phụ trợ, v.v. Ngoài ra, còn có biểu đồ "Phiên" hiển thị tổng quan về số liệu phiên.
Tại đây, bạn có thể thấy rằng ClusterControl theo dõi các lỗi kết nối trong thời gian thực, có thể giúp xác định thời điểm chính xác khi các vấn đề bắt đầu phát triển.
Cuối cùng, chúng ta sẽ xem xét hai biểu đồ sau liên quan đến các yêu cầu được xếp hàng đợi . HAProxy xếp hàng các yêu cầu tới phần phụ trợ nếu các máy chủ phụ trợ quá bão hòa. Điều này có thể chỉ ra, ví dụ, các máy chủ cơ sở dữ liệu quá tải, không thể xử lý thêm bất kỳ lưu lượng truy cập nào.
Kết thúc
Triển khai và giám sát bộ cân bằng tải HAProxy của bạn trong ClusterControl có thể giúp bạn dễ dàng quản lý và giám sát các kết nối của mình. Có khả năng hiển thị rõ ràng về hiệu suất của các phần mềm phụ trợ, phân phối lưu lượng truy cập, số liệu phiên, lỗi kết nối và số lượng yêu cầu được xếp hàng đợi có thể giúp đảm bảo tính khả dụng và khả năng mở rộng của bất kỳ thiết lập cơ sở dữ liệu nào.
ClusterControl giúp việc thiết lập và giám sát bộ cân bằng tải trở nên dễ dàng đối với bất kỳ cấu hình cơ sở dữ liệu nào. Bạn chưa sử dụng ClusterControl? Nếu bạn muốn tự mình chứng kiến việc triển khai và giám sát trình cân bằng tải HAProxy của bạn với ClusterControl dễ dàng như thế nào, chúng tôi mời bạn dùng thử miễn phí nền tảng này trong 30 ngày, không có ràng buộc. Để có hướng dẫn chi tiết hơn về lý do và cách sử dụng HAProxy để cân bằng tải, hãy xem hướng dẫn của chúng tôi về Cân bằng tải MySQL với HAProxy.