Rumah >pangkalan data >tutorial mysql >Apakah tiga mod replikasi tuan dan hamba Mysql?
Replikasi Asynchronous MySQL ialah mod replikasi lalai semasa proses replikasi master-slave. Replikasi melibatkan tiga benang, termasuk benang I/O induk, benang I/O hamba dan benang SQL hamba. Kerana ia adalah replikasi tak segerak, penyerahan transaksi induk tidak perlu disahkan oleh hamba Iaitu, selepas utas I/O induk menyerahkan transaksi, ia tidak perlu menunggu pengesahan balasan daripada hamba I. /O thread. Master tidak menjamin bahawa binlog akan ditulis ke relay dalam log selepas slave I/O menulis binlog ke relay log, ia dilaksanakan secara tak segerak oleh slave sql thread. . Slave I/O tidak memerlukan pengesahan balasan daripada slave sql, dan tidak menjamin bahawa log geganti ditulis sepenuhnya dalam mysql.
Untuk mengimbangi kekurangan replikasi tak segerak tradisional, MySQL memperkenalkan replikasi separa segerak dalam versi 5.5, iaitu penambahbaikan berbanding replikasi tak segerak tradisional. Sebelum urus niaga induk dilakukan, ia mesti dipastikan bahawa log binlog telah ditulis ke log geganti hamba Hanya selepas menerima maklum balas daripada hamba kepada tuan barulah transaksi itu dilakukan. Walaupun begitu, separuh kedua log geganti masih akan dihantar ke benang sql untuk pelaksanaan secara tak segerak.
Berdasarkan kecacatan replikasi tak segerak tradisional dan replikasi separa segerak - ketekalan data tidak boleh dijamin, MySQL rasmi dalam Versi 17 melancarkan replikasi kumpulan secara rasmi (MySQL Group Replication, dirujuk sebagai MGR).
Kumpulan replikasi terdiri daripada beberapa nod Penyerahan transaksi mesti diselesaikan dan diluluskan oleh majoriti nod dalam kumpulan (N / 2 + 1) sebelum ia boleh diserahkan. Seperti yang ditunjukkan dalam rajah di atas, kumpulan replikasi terdiri daripada 3 nod Lapisan Konsensus ialah lapisan protokol konsisten Semasa proses penyerahan transaksi, komunikasi antara kumpulan berlaku Hanya apabila 2 nod menyelesaikan (mengesahkan) transaksi akhirnya dapat diselesaikan.
Tujuan utama memperkenalkan replikasi kumpulan adalah untuk menyelesaikan masalah ketidakkonsistenan data yang disebabkan oleh replikasi tak segerak tradisional atau replikasi separa segerak. Replikasi kumpulan bergantung pada protokol ketekalan teragih (varian protokol Paxos) untuk mencapai ketekalan muktamad data teragih dan menyediakan penyelesaian ketersediaan tinggi data sebenar (sama ada ia benar-benar tersedia sangat perlu dibincangkan). Penyelesaian berbilang tulis yang disediakannya membawa harapan kepada kami untuk mencapai penyelesaian berbilang aktif.
Dalam persekitaran MGR, bilangan pelayan mestilah lebih daripada 3 dan nombor ganjil untuk melaksanakan algoritma 2/n+1.
Kumpulan replikasi terdiri daripada beberapa nod (contoh pangkalan data Setiap nod dalam kumpulan itu mengekalkan salinan datanya sendiri (Kongsi Tiada Apa-apa), dan melaksanakan mesej atom dan pesanan Global). mesej untuk mencapai ketekalan data contoh dalam kumpulan.
Jaminan ketekalan data: Pastikan kebanyakan nod dalam kelompok menerima log
Sokongan penulisan Nod Berbilang: Dalam mod berbilang tulis, semua nod dalam kelompok boleh ditulis (tetapi mengambil kira senario konkurensi 1 hingga tinggi untuk memastikan konsistensi data yang tinggi, pengeluaran tidak memilih penulisan berbilang induk, gunakan Kluster induk tunggal)
Toleransi Kesalahan: Pastikan sistem masih tersedia apabila ia gagal (termasuk otak belah), dan tulisan berganda tidak memberi kesan kepada sistem
Hanya menyokong jadual InnoDB dan setiap jadual mesti mempunyai kunci utama untuk pengesanan konflik dalam set tulis; format log perduaan mesti ditetapkan kepada ROW, digunakan untuk pemilihan utama dan set tulis
COMMIT boleh menyebabkan kegagalan, serupa dengan senario kegagalan tahap pengasingan transaksi syot kilat
Pada masa ini, kluster MGR menyokong sehingga 9 nod
Tidak menyokong kunci asing dan menyimpan ciri titik, dan tidak boleh melakukan pengesanan kekangan global dan rollback separa
Log binari tidak menyokong acara binlog checksum
Atas ialah kandungan terperinci Apakah tiga mod replikasi tuan dan hamba Mysql?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!