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

Triển khai bản sao MariaDB để có tính khả dụng cao

Máy chủ MariaDB cung cấp sao chép không đồng bộ và đồng bộ. Nó có thể được thiết lập để có một bản sao đa nguồn hoặc với một thiết lập đa tổng thể.

Đối với một ứng dụng chuyên sâu về đọc và ghi, thiết lập master-slave là phổ biến, nhưng có thể khác nhau dựa trên ngăn xếp cơ bản cần thiết để xây dựng môi trường cơ sở dữ liệu có tính khả dụng cao.

Việc thiết lập sao chép master-slave có thể không đáp ứng nhu cầu của bạn, đặc biệt là trong môi trường sản xuất. Chỉ một Máy chủ MariaDB (thiết lập chủ-tớ) là không đủ để cung cấp tính khả dụng cao vì nó vẫn có một điểm lỗi duy nhất (SPOF).

MariaDB đã giới thiệu một sản phẩm dành cho doanh nghiệp (Nền tảng MariaDB) để giải quyết vấn đề về tính khả dụng cao này. Nó bao gồm các thành phần khác nhau:phiên bản doanh nghiệp của MariaDB, MariaDB ColumnStore, MaxScale và MariaDB Connectors nhẹ. So với các nhà cung cấp khác có cùng một giải pháp cung cấp cho doanh nghiệp, đây có thể là một lựa chọn hiệu quả về chi phí, tuy nhiên không phải ai cũng cần đến mức độ phức tạp này.

Trong blog này, chúng tôi sẽ chỉ cho bạn cách sử dụng Máy chủ MariaDB bằng cách sử dụng sao chép trên môi trường có tính khả dụng cao với tùy chọn sử dụng tất cả các công cụ miễn phí hoặc phần mềm quản lý tiết kiệm chi phí của chúng tôi để chạy và giám sát cơ sở hạ tầng Máy chủ MariaDB của bạn.

Thiết lập cấu trúc liên kết sẵn có cao của MariaDB

Thiết lập thông thường cho cấu trúc liên kết chủ-tớ với Máy chủ MariaDB sử dụng phương pháp tiếp cận không đồng bộ hoặc đồng bộ chỉ với một lần ghi nhận chủ, sau đó sao chép các thay đổi của nó sang các nô lệ giống như sơ đồ bên dưới:

Nhưng một lần nữa, điều này không phục vụ bất kỳ tính khả dụng cao nào và có điểm duy nhất của sự thất bại. Nếu cái chính chết, thì ứng dụng khách của bạn không còn hoạt động nữa. Bây giờ, chúng ta cần thêm vào ngăn xếp để có cơ chế tự động chuyển đổi dự phòng để tránh SPOF và cũng cung cấp tính năng cân bằng tải để phân chia các lần đọc-ghi và theo kiểu vòng tròn. Vì vậy, bây giờ, chúng ta sẽ có loại cấu trúc liên kết,

Hiện tại, cấu trúc liên kết này đảm bảo an toàn hơn về mặt SPOF. MaxScale sẽ thực hiện việc phân tách đọc và ghi trên các nút cơ sở dữ liệu từ chủ của bạn chống lại các nô lệ. MaxScale thực hiện một cách tiếp cận hoàn hảo khi xử lý kiểu thiết lập này. MaxScale cũng được tích hợp tính năng tự động phát hiện. Vì vậy, bất kỳ thay đổi nào xảy ra trên trạng thái của các nút cơ sở dữ liệu của bạn, nó sẽ phát hiện và hành động tương ứng. MaxScale có sẵn để tiến hành chuyển đổi dự phòng hoặc thậm chí chuyển đổi. Để biết thêm về cơ chế chuyển đổi dự phòng của nó, hãy đọc blog trước của chúng tôi về cơ chế chuyển đổi dự phòng MariaDB MaxScale.

Lưu ý rằng cơ chế chuyển đổi dự phòng MaxScale với MariaDB Monitor cũng có những hạn chế của nó. Nó chỉ được áp dụng tốt nhất cho thiết lập master-slave mà không cần thiết lập quá phức tạp. Điều này có nghĩa là thiết lập tổng thể không được hỗ trợ. Tuy nhiên, MaxScale có nhiều thứ hơn để cung cấp. Nó không chỉ thực hiện một số chức năng cân bằng tải khi thực hiện phân tách đọc-ghi, nó còn tích hợp sẵn SmartRouter để gửi truy vấn đến nút hoạt động tốt nhất. Mặc dù điều này không bổ sung thêm tính năng khả dụng cao nhưng nó giúp các nút không bị kẹt trong lưu lượng truy cập và tránh một số nút cơ sở dữ liệu hoạt động kém có thể gây ra thời gian chờ hoặc máy chủ hoàn toàn không khả dụng do hoạt động sử dụng nhiều tài nguyên đang diễn ra .

Một điều lưu ý khi sử dụng MaxScale, họ đang sử dụng BSL (Business Source LIcense). Bạn có thể phải xem lại Câu hỏi thường gặp trước khi sử dụng phần mềm này.

Một tùy chọn khác để lựa chọn là sử dụng cách tiếp cận thuận tiện hơn. Có thể tiết kiệm chi phí nếu bạn chọn sử dụng ClusterControl và có các proxy ở giữa bằng cách sử dụng HaProxy, MaxScale hoặc ProxySQL, mà sau này có thể được định cấu hình từ nhẹ đến cấu hình cấp sản xuất hơn thực hiện định tuyến truy vấn, lọc truy vấn, tường lửa hoặc bảo mật. Xem hình minh họa bên dưới:

Bây giờ, nằm trên cùng của chúng là ClusterControl. ClusterControl được thiết lập với tính khả dụng cao, tức là CMON HA. Ngoài ra, lớp proxy có thể được chọn từ HaProxy - một tùy chọn rất nhẹ để lựa chọn, MaxScale, như đã đề cập trước đây hoặc ProxySQL có một bộ tham số tinh chỉnh hơn nếu bạn muốn linh hoạt hơn và cấu hình lý tưởng cho tỷ lệ cao thiết lập sản xuất. ClusterControl sẽ xử lý tự động phát hiện về tình trạng sức khỏe của các nút, đặc biệt là nút chính là nút chính để xác định xem nó có yêu cầu chuyển đổi dự phòng hay không. Bây giờ, điều này có thể tự cung cấp nhiều hơn nhưng nó làm tăng thêm chi phí do một số nút cần thiết để triển khai thiết lập này và cũng sử dụng tính năng tự động chuyển đổi dự phòng ClusterControl áp dụng trên giấy phép doanh nghiệp và cấp trước của chúng tôi. Nhưng mặt khác, nó cung cấp cho bạn tất cả sự an toàn, bảo mật và khả năng quan sát đối với cơ sở hạ tầng cơ sở dữ liệu của bạn. Nó thực sự là một triển khai doanh nghiệp với chi phí thấp hơn so với các giải pháp hiện có trên thị trường toàn cầu.

Triển khai Bản sao MariaDB Master-Slave của bạn để có tính khả dụng cao

Giả sử rằng bạn có một thiết lập chủ-tớ hiện tại của MariaDB. Đối với ví dụ này, chúng tôi sẽ sử dụng ClusterControl bằng phiên bản cộng đồng miễn phí mà bạn có thể cài đặt và sử dụng miễn phí. Nó chỉ làm cho công việc của bạn được thiết lập dễ dàng và nhanh chóng. Để thực hiện việc này, bạn chỉ cần nhập cụm Sao chép MariaDB hiện có của mình. Kiểm tra blog trước của chúng tôi về cách quản lý MariaDB với ClusterControl. Đối với blog này, ban đầu tôi có thiết lập sau dưới dạng cụm Sao chép MariaDB của tôi như được thấy bên dưới:

Bây giờ, hãy sử dụng MaxScale tại đây như một giải pháp thay thế từ Nền tảng MariaDB. mang lại tính khả dụng cao. Để làm điều đó, rất dễ sử dụng với ClusterControl chỉ bằng một vài cú nhấp chuột, sau đó bạn có thể thiết lập MaxScale đang chạy trên đầu cụm MariaDB Replication hiện có của bạn. Để làm điều đó, chỉ cần đi tới Quản lý → Cân bằng tải → MaxScale, và bạn sẽ có thể thiết lập và cung cấp các giá trị thích hợp như được thấy bên dưới,

Sau đó, chỉ cần bật hoặc nhấp vào tùy chọn hộp kiểm để chọn máy chủ phải được được thêm vào như một phần của giám sát MaxScale của bạn. Xem bên dưới,

Giả sử bạn có nhiều nút MaxScale để thêm, chỉ cần lặp lại các bước tương tự.

Cuối cùng, chúng tôi sẽ thiết lập Keepalived để giữ cho các nút MaxScale của chúng tôi luôn sẵn sàng bất cứ khi nào cần thiết. Điều này rất nhanh chóng chỉ với các bước đơn giản bằng cách sử dụng ClusterControl. Một lần nữa, bạn phải đi tới Quản lý → Cân bằng tải nhưng thay vào đó, hãy chọn Keepalived,

Như bạn đã nhận thấy, tôi đã đặt Keepalived cùng với MaxScale trên cùng một nút của nô lệ của tôi (192.168.10.30). Mặt khác, Keepalived thứ hai (thứ hai) đang chạy trên 192.168.10.40 cùng với Maxscale trên cùng một máy chủ.

Kết quả của cấu trúc liên kết là sẵn sàng sản xuất có thể cung cấp cho bạn định tuyến truy vấn, tính sẵn sàng cao và với tính năng tự động chuyển đổi dự phòng được trang bị khả năng quan sát và giám sát rộng rãi bằng cách sử dụng ClusterControl. Xem bên dưới,

Kết luận

Chỉ sử dụng bản sao Máy chủ MariaDB không cung cấp cho bạn tính khả dụng cao. Việc mở rộng và sử dụng các công cụ của bên thứ ba sẽ trang bị cho bạn khả năng sẵn sàng cao của ngăn xếp cơ sở dữ liệu của mình bằng cách không chỉ dựa vào các sản phẩm MariaDB hoặc thậm chí sử dụng Nền tảng MariaDB.

Có nhiều cách để đạt được điều này và quản lý nó để tiết kiệm chi phí hơn. Tuy nhiên, có một sự khác biệt rất lớn khi sử dụng các giải pháp này có sẵn trên thị trường như ClusterControl vì nó cung cấp cho bạn tốc độ, ít rắc rối hơn, và tất nhiên là khả năng quan sát tối ưu với các sự kiện thời gian thực và cập nhật không chỉ về sức khỏe mà còn cả các sự kiện xảy ra trong cụm cơ sở dữ liệu của bạn.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách TAN () hoạt động trong MariaDB

  2. Thêm dấu phần trăm vào một số trong MariaDB

  3. Chuẩn bị máy chủ MySQL hoặc MariaDB để sản xuất - Phần thứ nhất

  4. Kiểm soát chuyển đổi dự phòng sao chép cho MySQL và MariaDB với các tập lệnh chuyển đổi dự phòng trước hoặc sau dự phòng

  5. Cách INSTR () hoạt động trong MariaDB