MariaDB
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> MariaDB

Di chuyển từ Maxscale sang ProxySQL Load Balancer

Trình cân bằng tải cơ sở dữ liệu, hoặc proxy, là một dịch vụ phần mềm trung gian giữa lớp ứng dụng và lớp cơ sở dữ liệu. Ứng dụng kết nối với proxy cơ sở dữ liệu và proxy chuyển tiếp kết nối đến cơ sở dữ liệu. Có một số lợi ích khi sử dụng proxy cơ sở dữ liệu, ví dụ:chia tách truy vấn đọc và ghi, truy vấn bộ nhớ cache, phân phối truy vấn dựa trên một số thuật toán định tuyến, ghi lại truy vấn và chia tỷ lệ khối lượng công việc chỉ đọc của bạn. Proxy cơ sở dữ liệu cũng tóm tắt cấu trúc liên kết cơ sở dữ liệu (và bất kỳ thay đổi nào) cho lớp ứng dụng, vì vậy các ứng dụng chỉ cần kết nối với một điểm cuối duy nhất.

Có nhiều proxy cơ sở dữ liệu khác nhau, từ các tùy chọn thương mại đến nguồn mở, ví dụ:HAProxy, Nginx, ProxySQL, Maxscale, v.v. Trong blog này, chúng ta sẽ thảo luận về cách di chuyển proxy cơ sở dữ liệu từ Maxscale sang ProxySQL với sự trợ giúp của ClusterControl.

Kiến trúc hiện tại với Maxscale

Hãy xem xét một kiến ​​trúc cơ sở dữ liệu có tính khả dụng cao bao gồm 3 nút trong Cụm Galera và trên đó là 2 dịch vụ Maxscale và Keepalived để có được tính khả dụng cao của proxy cơ sở dữ liệu. Galera Cluster là các bản sao đồng bộ "hầu như", nó sử dụng chứng chỉ dựa trên việc nhân bản để đảm bảo dữ liệu của bạn sẽ có sẵn trên tất cả các nút. Kiến trúc hiện tại được hiển thị bên dưới:

Maxscale là proxy cơ sở dữ liệu từ MariaDB Corporation, hoạt động như phần mềm trung gian giữa các ứng dụng và cơ sở dữ liệu.

Đây là kiến ​​trúc cấu trúc liên kết cho bộ cân bằng tải Galera Cluster và Maxscale trong ClusterControl. Bạn có thể triển khai tất cả những điều này trực tiếp từ ClusterControl hoặc nhập cơ sở dữ liệu hiện có và các nút proxy vào ClusterControl. Bạn có thể thấy cấu trúc liên kết cơ sở dữ liệu của mình trong Tab cấu trúc liên kết.

Triển khai ProxySQL &Keepalived

ProxySQL là một proxy cơ sở dữ liệu khác từ ProxySQL, cung cấp một số tính năng như bộ nhớ đệm truy vấn, ghi lại các truy vấn, phân chia truy vấn để ghi và đọc dựa trên mẫu truy vấn. Để triển khai ProxySQL trong ClusterControl, bạn cần đi tới Quản lý -> Bộ cân bằng tải trong cụm của bạn. ClusterControl hỗ trợ một số proxy cơ sở dữ liệu khác nhau; HAProxy, ProxySQL, MaxScale.

Chọn ProxySQL và nó sẽ hiển thị trang bên dưới:

Chúng ta cần chọn địa chỉ máy chủ nơi ProxySQL sẽ được cài đặt. Chúng tôi có thể cài đặt trên các nút hiện có hoặc nếu bạn muốn có một nút dành riêng cho ProxySQL, chỉ cần nhập địa chỉ IP vào danh sách. Điền mật khẩu cho người dùng Quản trị và Giám sát, Thêm người dùng ứng dụng vào ProxySQL hoặc bạn có thể cấu hình sau. Cho phép các máy chủ cơ sở dữ liệu được đưa vào bộ cân bằng tải trong ProxySQL. Nhấp vào nút Triển khai ProxySQL. Chúng ta cần có ít nhất 2 ProxySQL để có tính khả dụng cao.

Nếu chúng ta quên thêm người dùng cơ sở dữ liệu vào ProxySQL trong quá trình thiết lập, chúng ta có thể định cấu hình nó trong tab người dùng ProxySQL như được hiển thị bên dưới:

ProxySQL yêu cầu người dùng cơ sở dữ liệu cũng phải được định cấu hình trong ProxySQL.

Sau khi triển khai ProxySQL, chúng tôi tiếp tục định cấu hình Keepalived trên mỗi máy chủ ProxySQL. Các dịch vụ Keepalived sẽ hoạt động như vai trò chủ / sao lưu trên các phiên bản ProxySQL. Dịch vụ Keepalived sử dụng VIP (Địa chỉ IP ảo), vì vậy ứng dụng sẽ kết nối với Địa chỉ IP ảo trên vai trò chủ và sẽ chuyển tiếp kết nối đến ProxySQL cục bộ. Nếu các dịch vụ không thành công, VIP sẽ tự động được chuyển sang một nút khác.

Triển khai keepalived trong ClusterControl được thực hiện trên cùng trang với proxy cơ sở dữ liệu, bạn chỉ cần chọn tab Keepalived. Chọn loại bộ cân bằng tải, là ProxySQL, sau đó thêm ProxySQL hiện tại cho Keepalived1 và Keepalived2. Điền vào giao diện Mạng và Địa chỉ IP Ảo. Và cuối cùng, nhấp vào nút Triển khai Keepalived.

Chạy hai dịch vụ ProxySQL với Keepalived cung cấp cho chúng ta một lớp proxy có tính khả dụng cao. Trong ClusterControl, nó được hiển thị trong dạng xem cấu trúc liên kết bên dưới:

Công tắc chuyển đổi

Việc chuyển đổi lưu lượng truy cập thực sự thẳng tiến, chỉ cần thay đổi kết nối địa chỉ ip trong lớp ứng dụng để sử dụng Địa chỉ IP ảo cho ProxySQL, sau đó giám sát lưu lượng qua ProxySQL.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Chạy ProxySQL dưới dạng Dịch vụ Kubernetes

  2. Tối đa hóa hiệu quả truy vấn cơ sở dữ liệu cho MySQL - Phần thứ hai

  3. Cách CURDATE () hoạt động trong MariaDB

  4. Cách cắt ngắn văn bản bằng dấu chấm lửng trong MariaDB

  5. Sử dụng Plugin nhật ký kiểm tra Percona để bảo mật cơ sở dữ liệu