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

Giải thích về khung khả dụng cao của MySQL - Phần I:Giới thiệu

Trong loạt bài blog ba phần này, chúng tôi sẽ giải thích chi tiết và chức năng của khung Tính sẵn sàng cao (HA) dành cho lưu trữ MySQL sử dụng sao chép bán đồng bộ MySQL và ngăn xếp Corosync cộng với Pacemaker. Trong Phần I, chúng tôi sẽ hướng dẫn bạn những kiến ​​thức cơ bản về Tính sẵn sàng cao, các thành phần của khung HA, sau đó giới thiệu với bạn về khung HA cho MySQL.

Tính khả dụng cao là gì?

Tính khả dụng của hệ thống máy tính là phần trăm thời gian các dịch vụ của hệ thống đó hoạt động trong một khoảng thời gian. Nó thường được thể hiện dưới dạng một chuỗi 9 cái. Ví dụ:bảng bên dưới hiển thị tính khả dụng và thời gian ngừng hoạt động tương ứng được đo trong một năm.

Tính khả dụng% Thời gian ngừng hoạt động mỗi năm
90% (“ một 9 “) 36,53 ngày
99% (“ hai số 9 “) 3,65 ngày
99,9% (“ ba số 9 “) 8,77 giờ
99,99% (“ bốn số 9 “) 52,60 phút
99,999% (“ năm số 9 “) 5,26 phút
99,9999% (“ sáu số 9 “) 31,56 giây

Ý nghĩa của Tính sẵn sàng cao thay đổi tùy thuộc vào yêu cầu của ứng dụng và doanh nghiệp của bạn. Ví dụ:nếu bạn không thể có thời gian ngừng hoạt động hơn vài phút mỗi năm trong dịch vụ của mình, chúng tôi cho rằng dịch vụ cần có Tính sẵn sàng cao 99,999%.

Các thành phần của Khung HA

Bản chất của tính khả dụng cao là khả năng khôi phục tức thì sau những lỗi có thể xảy ra trong bất kỳ phần nào của hệ thống. Có bốn thành phần rất cần thiết trong bất kỳ khung HA nào cần phải làm việc cùng nhau theo cách tự động để cho phép khả năng phục hồi này. Hãy xem xét chi tiết các thành phần này:

1. Dự phòng trong Cơ sở hạ tầng &Dữ liệu

Để dịch vụ có tính khả dụng cao, chúng tôi cần đảm bảo rằng cơ sở hạ tầng lưu trữ dự phòng cũng như cập nhật dự phòng bản sao dữ liệu mà dịch vụ sử dụng hoặc cung cấp. Điều này hoạt động như một dịch vụ dự phòng sẵn sàng tiếp quản trong trường hợp thiết bị chính bị ảnh hưởng bởi sự cố.

2. Cơ chế phát hiện &sửa lỗi hỏng hóc

Điều cực kỳ quan trọng là phát hiện ngay bất kỳ lỗi nào trong bất kỳ phần nào của hệ thống chính có thể ảnh hưởng đến tính khả dụng của hệ thống. Điều này sẽ cho phép khung thực hiện các hành động sửa chữa trên cùng một hệ thống chính hoặc chuyển đổi dự phòng các dịch vụ sang hệ thống dự phòng.

3. Cơ chế chuyển đổi dự phòng

Thành phần này xử lý trách nhiệm chuyển đổi dự phòng các dịch vụ sang cơ sở hạ tầng dự phòng của bạn. Xin lưu ý rằng trong trường hợp có sẵn nhiều hệ thống dự phòng, thành phần cơ chế chuyển đổi dự phòng này phải xác định hệ thống phù hợp nhất trong số các hệ thống đó và quảng bá nó như là dịch vụ chính.

4. Cơ chế chuyển hướng ứng dụng / người dùng

Sau khi hệ thống chờ được tiếp quản làm hệ thống chính, thành phần này đảm bảo rằng tất cả các kết nối của ứng dụng và người dùng bắt đầu xảy ra với hệ thống chính mới.

Giải thích về khung tính khả dụng cao của MySQL - Phần IClick To Tweet

HA Framework cho MySQL

Dựa trên mô hình trên, chúng tôi sử dụng khung HA sau cho máy chủ MySQL của chúng tôi tại ScaleGrid:

  • Thiết lập 3-Node Master-Slave sử dụng sao chép bán đồng bộ MySQL để cung cấp cơ sở hạ tầng và dự phòng dữ liệu.
  • Ngăn xếp Corosync cộng với Máy tạo nhịp tim để cung cấp cơ chế phát hiện, sửa lỗi và chuyển đổi dự phòng.
  • Ánh xạ DNS hoặc thành phần IP ảo để cung cấp cơ chế chuyển hướng người dùng và ứng dụng.

Hãy xem sơ đồ bên dưới để hình dung về ngăn xếp phần mềm của kiến ​​trúc này:

Hãy xem lại chức năng của một số thành phần chính trong khung này.

  1. Đồng bộ hóa

    Corosync cung cấp một khung giao tiếp cho các nút với khả năng truyền thông điệp đáng tin cậy giữa chúng. Nó tạo thành một vòng cụm các nút và theo dõi các nút tham gia và rời khỏi cụm thông qua tư cách thành viên cụm. Corosync hợp tác chặt chẽ với Pacemaker để thông báo về tính khả dụng của nút để Pacemaker có thể đưa ra quyết định phù hợp.

  2. Máy tạo nhịp tim

    Còn được gọi là Trình quản lý tài nguyên cụm (CRM), Pacemaker đảm bảo tính khả dụng cao cho MySQL chạy trên cụm và phát hiện và xử lý các lỗi cấp nút bằng cách giao tiếp với Corosync. Nó cũng phát hiện và xử lý các lỗi của MySQL bằng cách giao tiếp với Tác nhân tài nguyên (RA). Pacemaker định cấu hình và quản lý tài nguyên MySQL thông qua các hoạt động bắt đầu, dừng, giám sát, thăng cấp và hạ cấp.

  3. Tác nhân tài nguyên

    Tác nhân Tài nguyên hoạt động như một giao diện giữa MySQL và Pacemaker. Nó thực hiện bắt đầu, dừng, thăng chức, hạ cấp và giám sát các hoạt động được sử dụng bởi Máy tạo nhịp tim. Có một Tác nhân tài nguyên đầy đủ chức năng được gọi là Percona Replication Manager (PRM) cho MySQL do Percona triển khai. Điều này đã được cải tiến bởi ScaleGrid và có sẵn trên trang GitHub của chúng tôi.

  4. Thành phần ánh xạ DNS

    Tác nhân Tài nguyên, khi hoàn thành chuyển đổi dự phòng thành công, sẽ gọi thành phần này cập nhật các bản ghi DNS của máy chủ MySQL chính với địa chỉ IP của máy chủ mới. Lưu ý rằng máy khách luôn sử dụng tên DNS chính để kết nối với máy chủ MySQL và bằng cách quản lý ánh xạ của tên DNS này với địa chỉ IP của máy chủ hiện tại, chúng tôi có thể đảm bảo rằng máy khách không phải thay đổi chuỗi kết nối hoặc thuộc tính của họ khi có một chuyển đổi dự phòng.

Trong Phần II của loạt bài blog này, bạn sẽ tìm hiểu về thành phần dự phòng dữ liệu quan trọng đạt được bằng cách sử dụng sao chép bán đồng bộ MySQL. Chúng tôi cũng sẽ đi sâu vào chi tiết và cấu hình sao chép bán đồng bộ mà chúng tôi sử dụng để đạt được hỗ trợ tính sẵn sàng cao của chúng tôi và cuối cùng, xem xét các tình huống lỗi khác nhau trong Phần III và cách khung phản hồi và phục hồi từ những điều kiện này.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL SERVER 2016 - So sánh các kế hoạch thực thi

  2. Ràng buộc khóa ngoại Bogus không thành công

  3. Cách chạy nhiều phiên bản MySQL trên cùng một máy

  4. Làm thế nào để Kiểm tra xem Nút Radio được Kiểm tra hoặc Chọn trong jQuery?

  5. cập nhật giá trị cột với cột của bảng khác dựa trên điều kiện