Apakah prinsip replikasi tuan-hamba dalam MySQL

WBOY
Lepaskan: 2023-05-29 21:19:42
ke hadapan
4366 orang telah melayarinya

Kata Pendahuluan

Dalam persekitaran pengeluaran sebenar, jika pembacaan dan penulisan pangkalan data MySQL dikendalikan dalam pelayan pangkalan data, tidak kira dari segi keselamatan, ketersediaan tinggi atau keselarasan tinggi, ia akan menjadi Jika ia tidak dapat memenuhi keperluan sebenar, secara amnya perlu menyegerakkan data melalui replikasi induk-hamba, dan kemudian menggunakan pemisahan baca-tulis untuk meningkatkan kapasiti beban serentak pangkalan data .

1. Konsep replikasi induk-hamba

Replikasi induk-hamba ialah teknologi asas yang disediakan oleh MySQL Proses replikasi induk-hamba: log binari binlog (kecuali untuk pertanyaan, lain yang berkaitan dengan perubahan operasi akan direkodkan dalam binlog), log geganti dan tiga utas (satu utas tuan dan dua utas hamba).

Pangkalan data utama (master) menyediakan perkhidmatan tambahan data luaran, pemadaman, pengubahsuaian dan pertanyaan Pengubahsuaian yang melibatkan data dalam pangkalan data induk akan ditulis dalam binlog Pangkalan data hamba (hamba) ialah. digunakan untuk penyegerakan data Dan sandaran data , melalui utas khusus untuk menyegerakkan pengubahsuaian yang berkaitan dengan pustaka utama dan data, kebenaran dan struktur jadual ke pustaka hamba daripada binlog dalam pustaka utama, yang setara kepada semua pengubahsuaian yang dibuat pada perpustakaan utama akan berlalu Mekanisme replikasi tuan-hamba terkandung dalam pangkalan data hamba.

Faedah replikasi tuan-hamba: Sandaran data, malah kami boleh membuat sandaran panas untuknya, iaitu melalui perisian tengah MySQLmycat, yang boleh mencapai pemulihan bencana , pemulihan bencana juga mencerminkan ketersediaan tinggi.
Pemulihan bencana: Jika pangkalan data utama tidak berfungsi, ejen middleware mycat akan secara automatik memetakan permintaan perkhidmatan ke pangkalan data hamba, dan pangkalan data hamba akan terus menyediakan perkhidmatan kepada dunia luar, mencerminkan ketersediaan tinggi (perkhidmatan bahagian belakang Benarkan pengecualian tertentu berlaku, tetapi perkhidmatan seni bina bahagian belakang mestilah tahan terhadap kesalahan, mengendalikan ralat luar biasa ini dan menyediakan semula perkhidmatan biasa kepada dunia luar)

2. Konsep pemisahan baca-tulis

Pemisahan baca-tulis dilaksanakan berdasarkan replikasi tuan-hamba. Dalam persekitaran aplikasi sebenar, mesti terdapat banyak operasi baca Sama seperti apabila kita membeli sesuatu pada platform e-dagang, kita mungkin hanya membeli satu atau dua selepas melihat 100 item. Oleh itu, sentiasa terdapat lebih banyak operasi baca daripada operasi kemas kini tulis. Oleh itu, konfigurasi pemisahan baca-tulis kami berdasarkan replikasi master-slave bermakna pangkalan data induk dikhususkan untuk mengubah suai data Apabila menulis, ia ditulis secara eksklusif pada pangkalan data induk replikasi melalui binlog, maka permintaan pertanyaan pelanggan lain akhirnya akan dipetakan ke perpustakaan hamba, dan kami mempunyai satu perpustakaan utama dengan dua atau tiga perpustakaan hamba Pustaka utama digunakan khas untuk mengemas kini data (operasi tulis). dan perpustakaan hamba Perpustakaan digunakan khas untuk operasi membaca Dengan cara ini, tekanan membaca dan menulis boleh diagihkan dengan baik. Ia tidak perlu tertumpu pada perpustakaan utama Perkhidmatan Selain itu, ia mempunyai kapasiti ketersediaan yang tinggi Jika berlaku bencana, apabila pangkalan data utama gagal, pangkalan data hamba yang ditetapkan boleh diubah menjadi pangkalan data utama.

Apakah prinsip replikasi tuan-hamba dalam MySQL

Binlog dalam gambar di atas, walaupun kita tidak mempunyai replikasi tuan-hamba, masih akan menulis binlog, tetapi replikasi tuan-hamba dilaksanakan melalui binlog .

3. Perpustakaan utama dan pustaka hamba

1. akan Kandungan log binari dihantar ke pelayan hamba

2 Pustaka hamba

mempunyai

benang I/O khusus

. khusus untuk membaca Untuk menerima kandungan yang dihantar oleh perpustakaan utama, ia akan menerima kandungan binlog yang dihantar daripada perpustakaan utama dan menulisnya ke dalam
    Log geganti
  • adalah bersamaan dengan penimbal, supaya induk melakukannya tidak perlu menunggu pelaksanaan hamba selesai sebelum menghantar acara seterusnya

    . Daripada membaca kandungan binlog dalam perpustakaan utama dan melaksanakannya secara langsung, kelemahan pelaksanaan langsung ialah perpustakaan utama mungkin mempunyai banyak kandungan binlog, dan pelaksanaan kandungan binlog yang diterima dari perpustakaan hamba mungkin sangat perlahan, mengakibatkan kemas kini daripada perpustakaan hamba Jurang antara data dan pangkalan data utama akan menjadi lebih luas dan lebih luas. Replikasi data mungkin ketinggalan. relay log Pustaka hamba juga akan memulakan benang SQL

    untuk membaca
  • operasi yang sepadan daripada
  • log geganti,

    semua SQL Laksanakan kesemuanya , dengan itu mencapai penyegerakan kandungan perpustakaan hamba dan kandungan perpustakaan induk 4. Proses replikasi tuan-hamba

  • Tuan -proses replikasi hamba:
Dua log (log binari binlog dan log log geganti) dan tiga utas (satu utas tuan dan dua utas hamba).

Operasi kemas kini perpustakaan utama ditulis ke dalam log binari binlog

(pustaka utama perlu menghidupkan suis binlog)
  • master Pelayan mencipta benang pembuangan binlog

    dan menghantar kandungan log binari ke pelayan hamba
  • Mesin hamba melaksanakan perintah START SLAVE untuk mencipta benang IO pada pelayan hamba, yang menerima log binari induk dan menyalinnya ke log gegantinya (dalam ingatan , cepat membaca dan menulis) . Mula-mula, hamba memulakan utas yang berfungsi (benang I/O) akan menyambung secara aktif kepada induk Kemudian perpustakaan utama akan memulakan benang buangan binlog tuan dan menghantarnya kepada hamba I/O, jika benang dump telah mengejar tuan (benang dump pada perpustakaan utama telah selesai menghantar kandungan binlog, dan binlog pada perpustakaan utama belum. menghasilkan lebih banyak kandungan), benang dump akan tidur dan menunggu binlog menjana baharu Peristiwa yang diterima oleh benang I/O hamba ditulis pada log geganti

  • hamba Benang SQL mengendalikan langkah terakhir proses dan urutan SQL bermula dari geganti. Baca peristiwa daripada log dan laksanakan peristiwa untuk mengemas kini data hamba supaya ia disegerakkan dengan data induk. Selagi benang SQL konsisten dengan benang I/O, log geganti biasanya akan terletak dalam cache os, jadi overhed log geganti adalah sangat kecil

5 . Paparan kesan replikasi Master-slave

Centos pada Linux digunakan sebagai perpustakaan utama dan pelayan mysql pada win10 digunakan sebagai perpustakaan hamba untuk menunjukkan:

Apakah prinsip replikasi tuan-hamba dalam MySQL

Replikasi tuan-hamba ialah penyegerakan sehala , perubahan tuan disegerakkan kepada hamba. Apabila menyediakan replikasi tuan-hamba, data antara pangkalan data tuan dan hamba mungkin berbeza. Setelah konfigurasi selesai, semua perubahan pada pangkalan data induk akan disegerakkan ke pangkalan data hamba.

master mencipta pangkalan data mytest:

Apakah prinsip replikasi tuan-hamba dalam MySQL

Semak hamba dan dapatkan mytest telah disegerakkan:

Apakah prinsip replikasi tuan-hamba dalam MySQL

Tuan mencipta jadual pengguna, dan hamba juga menyegerakkan jadual pengguna:

Apakah prinsip replikasi tuan-hamba dalam MySQL

Apakah prinsip replikasi tuan-hamba dalam MySQL

MySQL (master) di bahagian Linux kini memadamkan perpustakaan mytest

Apakah prinsip replikasi tuan-hamba dalam MySQL

Pada masa ini masa, mitos hamba tidak lagi wujud

show processlistAnda boleh melihat benang kerja dalam persekitaran semasa tuan

Apakah prinsip replikasi tuan-hamba dalam MySQL

Lihat benang kerja dalam persekitaran semasa hamba

Apakah prinsip replikasi tuan-hamba dalam MySQL

Atas ialah kandungan terperinci Apakah prinsip replikasi tuan-hamba dalam MySQL. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:yisu.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan