Bộ định tuyến MySQL đọc-ghi tách

Chủ đề này giới thiệu tính năng tách đọc/ghi của ApsaraDB RDS cho MySQL. Tính năng này cho phép ApsaraDB RDS định tuyến các yêu cầu đọc và ghi tới một điểm cuối proxy chuyên dụng. Sau đó, điểm cuối proxy chuyên dụng sẽ định tuyến các yêu cầu đọc và ghi tới phiên bản RDS chính và phiên bản RDS chỉ đọc của hệ thống cơ sở dữ liệu của bạn

Thông tin lai lịch

Nếu hệ thống cơ sở dữ liệu của bạn nhận được một số lượng lớn yêu cầu đọc và một số lượng nhỏ yêu cầu ghi, phiên bản RDS chính có thể không xử lý được yêu cầu đọc và khối lượng công việc của bạn có thể bị gián đoạn. Sau khi các phiên bản RDS chỉ đọc được tạo, bạn có thể bật tính năng tách đọc/ghi. Sau đó, bạn có thể sử dụng điểm cuối proxy chuyên dụng để thực hiện phân tách đọc/ghi. Bạn chỉ cần thêm điểm cuối proxy chuyên dụng vào ứng dụng của mình. Sau khi ứng dụng của bạn được kết nối với điểm cuối proxy chuyên dụng, ApsaraDB RDS định tuyến ghi các yêu cầu tới phiên bản RDS chính và đọc các yêu cầu tới các phiên bản RDS chỉ đọc dựa trên trọng số đọc của các phiên bản này. Để biết thêm thông tin, hãy xem .

Những lợi ích

  • Điểm cuối hợp nhất để tạo điều kiện bảo trì

    Nếu không bật tính năng tách đọc/ghi, thì bạn chỉ có thể thực hiện tách đọc/ghi sau khi thêm các điểm cuối của phiên bản RDS chính và phiên bản RDS chỉ đọc vào ứng dụng của mình

    Nếu bật tính năng tách đọc/ghi, bạn có thể sử dụng điểm cuối proxy chuyên dụng để thực hiện tách đọc/ghi. Bạn chỉ cần thêm điểm cuối proxy chuyên dụng vào ứng dụng của mình. Sau khi ứng dụng của bạn được kết nối với điểm cuối proxy chuyên dụng, hệ thống cơ sở dữ liệu của bạn sẽ định tuyến các yêu cầu đọc và ghi tới phiên bản RDS chính và phiên bản RDS chỉ đọc dựa trên trọng số đọc của các phiên bản này. Điều này làm giảm chi phí bảo trì

    Bạn cũng có thể tạo các phiên bản RDS chỉ đọc để tăng khả năng đọc của hệ thống cơ sở dữ liệu mà không cần sửa đổi dữ liệu cấu hình trên ứng dụng của mình

  • Liên kết gốc để tăng hiệu suất và giảm chi phí bảo trì

    Nếu bạn xây dựng lớp proxy của riêng mình trên đám mây để thực hiện phân tách đọc/ghi, dữ liệu phải được phân tích cú pháp và chuyển tiếp bởi nhiều thành phần trước khi dữ liệu đến hệ thống cơ sở dữ liệu của bạn. Kết quả là độ trễ phản hồi tăng lên. Tính năng tách đọc/ghi được nhúng trong hệ sinh thái ApsaraDB RDS để giảm độ trễ phản hồi, tăng tốc độ xử lý và giảm chi phí bảo trì

  • Trọng lượng và ngưỡng đọc có thể định cấu hình để đảm bảo tính phù hợp trong các tình huống khác nhau

    Bạn có thể chỉ định trọng số đọc của phiên bản RDS chính và phiên bản RDS chỉ đọc. Bạn cũng có thể chỉ định ngưỡng độ trễ để sao chép dữ liệu sang phiên bản RDS chỉ đọc

  • Kiểm tra tình trạng ở cấp độ sơ thẩm để đảm bảo tính sẵn sàng cao

    Tính năng tách đọc/ghi cho phép ApsaraDB RDS chủ động kiểm tra trạng thái sức khỏe của phiên bản RDS chính và phiên bản RDS chỉ đọc. Nếu một phiên bản RDS chỉ đọc thoát bất ngờ hoặc độ trễ sao chép dữ liệu của nó vượt quá ngưỡng đã chỉ định, thì ApsaraDB RDS sẽ dừng định tuyến các yêu cầu đọc tới phiên bản đó. ApsaraDB RDS chuyển hướng các yêu cầu đọc dành cho phiên bản RDS chỉ đọc bị lỗi sang các phiên bản RDS lành mạnh khác trong hệ thống cơ sở dữ liệu của bạn. Điều này đảm bảo tính khả dụng của dịch vụ ngay cả khi một phiên bản RDS chỉ đọc riêng lẻ bị lỗi. Sau khi phiên bản RDS chỉ đọc bị lỗi được khôi phục, ApsaraDB RDS tiếp tục định tuyến các yêu cầu đọc tới phiên bản

    Lưu ý Chúng tôi khuyên bạn nên tạo ít nhất hai phiên bản RDS chỉ đọc để giảm thiểu tác động của các điểm lỗi đơn lẻ [SPOF]

Logic được sử dụng để định tuyến các yêu cầu

  • Các yêu cầu sau chỉ được định tuyến đến phiên bản RDS chính
    • Các yêu cầu được sử dụng để thực thi các câu lệnh INSERT, UPDATE, DELETE và SELECT FOR UPDATE
    • Tất cả các yêu cầu được sử dụng để thực hiện các thao tác DDL, chẳng hạn như các thao tác DDL được thực hiện để tạo cơ sở dữ liệu hoặc bảng, xóa cơ sở dữ liệu hoặc bảng và thay đổi lược đồ hoặc quyền
    • Tất cả các yêu cầu được gói gọn trong các giao dịch
    • Các yêu cầu được sử dụng để gọi các chức năng do người dùng xác định
    • Các yêu cầu được sử dụng để chạy các thủ tục được lưu trữ
    • Các yêu cầu được sử dụng để thực thi các câu lệnh EXECUTE
    • Yêu cầu được sử dụng để chạy truy vấn nhiều câu lệnh. Để biết thêm thông tin, hãy xem Đa câu lệnh .
    • Yêu cầu liên quan đến bảng tạm thời
    • Các yêu cầu được sử dụng để thực thi các câu lệnh SELECT last_insert_id[]
    • Tất cả các yêu cầu được sử dụng để truy vấn hoặc định cấu hình lại các biến người dùng
    • Các yêu cầu được sử dụng để thực thi các câu lệnh KILL trong SQL. Các câu lệnh này khác với các lệnh KILL trong Linux
  • Các yêu cầu sau được chuyển đến phiên bản RDS chính hoặc phiên bản RDS chỉ đọc
    • Các yêu cầu được sử dụng để thực thi các câu lệnh CHỌN không được gói gọn trong các giao dịch
    • Các yêu cầu được sử dụng để thực thi các câu lệnh COM_STMT_EXECUTE
  • Các yêu cầu sau được chuyển đến phiên bản RDS chính và phiên bản RDS chỉ đọc
    • Tất cả các yêu cầu được sử dụng để cấu hình lại các biến hệ thống
    • Các yêu cầu được sử dụng để thực thi các câu lệnh USE
    • Các yêu cầu được sử dụng để thực thi các câu lệnh SHOW PROCESSLIST

      Lưu ý Sau khi câu lệnh SHOW PROCESSLIST được thực thi, proxy chuyên dụng sẽ trả về tất cả các quy trình chạy trên phiên bản RDS chính và phiên bản RDS chỉ đọc trong hệ thống cơ sở dữ liệu của bạn

      Bộ định tuyến MySQL có cần thiết không?

      Bộ định tuyến MySQL là một phần của Cụm InnoDB và là phần mềm trung gian nhẹ cung cấp định tuyến minh bạch giữa ứng dụng của bạn và Máy chủ MySQL phía sau. Nó được sử dụng cho nhiều trường hợp sử dụng khác nhau, chẳng hạn như cung cấp tính sẵn sàng cao và khả năng mở rộng bằng cách định tuyến lưu lượng cơ sở dữ liệu đến các máy chủ MySQL back-end thích hợp .

      Làm cách nào để khởi động bộ định tuyến MySQL?

      Để khởi động Bộ định tuyến MySQL tại dòng lệnh, chuyển tùy chọn --bootstrap khi bạn bắt đầu lệnh mysqlrouter và nó sẽ truy xuất . Ngoài ra, trên Windows, hãy sử dụng Trình cài đặt MySQL để khởi động Bộ định tuyến MySQL.

      Làm cách nào để định cấu hình bộ định tuyến MySQL?

      Giải nén kho lưu trữ cài đặt
      Tạo một tệp tùy chọn
      Chọn loại máy chủ MySQL
      Khởi tạo thư mục dữ liệu
      Khởi động máy chủ lần đầu tiên
      Khởi động MySQL từ Dòng lệnh Windows
      Tùy chỉnh PATH cho Công cụ MySQL
      Khởi động MySQL dưới dạng Dịch vụ Windows

      Mật khẩu cho cấu hình bộ định tuyến MySQL là gì?

      Tên người dùng mặc định cho bộ định tuyến MySQL của bạn là root. Mật khẩu mặc định là [trống] . Nhập tên người dùng và mật khẩu, nhấn "Enter" và bây giờ bạn sẽ thấy bảng điều khiển của bộ định tuyến.

Chủ Đề