Rumah  >  Artikel  >  pangkalan data  >  Mari kita bercakap tentang replikasi tuan-hamba dalam redis

Mari kita bercakap tentang replikasi tuan-hamba dalam redis

青灯夜游
青灯夜游ke hadapan
2021-10-08 10:56:361677semak imbas

Artikel ini akan bercakap tentang replikasi tuan-hamba dalam redis, dan memperkenalkan penggunaan khusus, langkah berjaga-jaga dan mod sentinel saya harap ia akan membantu semua orang.

Mari kita bercakap tentang replikasi tuan-hamba dalam redis

1: Gambaran Keseluruhan

replikasi master-slave redis ialah kaedah pemisahan baca-tulis yang paling biasa digunakan, dengan master dilampirkan pada satu atau lebih hamba Hamba,

Guru bertanggungjawab untuk operasi menulis Masalah utama yang perlu diselesaikan ialah berkongsi tekanan membaca redis dan meningkatkan kecekapan membaca dan menulis data. [Cadangan berkaitan: Tutorial video Redis]

Mari kita bercakap tentang replikasi tuan-hamba dalam redis

2: Penggunaan khusus

1. Nyatakan sambungan daripada pustaka hamba perpustakaan utama:

Hos ialah alamat sambungan, dan port ialah nombor port alamat sambungan Sudah tentu, anda juga boleh menyalin sendiri berbilang fail redis.conf dan memulakan berbilang perkhidmatan redis dengan port yang berbeza dengan mengubah suai mereka. nombor port, nombor benang dan maklumat lain

SLAVEOF [host] [port]

2. Perpustakaan utama bertanggungjawab untuk menulis (membaca juga boleh), dan perpustakaan hamba hanya boleh membaca:

主库中写的数据能在从库中获取:6381为主库,6380为从库

Mari kita bercakap tentang replikasi tuan-hamba dalam redis

3 Jadikan pangkalan data hamba sebagai tuan semula:

SLAVEOF no one

Tiga: Nota:

(1) Dalam keadaan biasa, selepas pangkalan data induk berada di luar talian, pangkalan data hamba akan Menunggu pangkalan data induk menyambung semula dan masih mengekalkan status pangkalan data hamba

(2) Selepas pangkalan data hamba diputuskan sambungan, ia mesti disambungkan semula ke pangkalan data induk sebelum ia boleh berfungsi sebagai pangkalan data hamba, jika tidak, ia akan menjadi pangkalan data induk

Empat: Mod Sentinel

Gambaran Keseluruhan: Untuk membolehkan perpustakaan hamba lain untuk memilih semula perpustakaan induk untuk meneruskan operasi perkhidmatan apabila perkhidmatan perpustakaan utama di luar talian

Fungsi: Apabila perkhidmatan perpustakaan utama di luar talian , pengawal akan memantau apabila perpustakaan utama berada di luar talian, dan menjalankan operasi pengundian untuk membuat salah satu perpustakaan hamba menjadi perpustakaan utama menggantikan perpustakaan utama asal.

1 Cipta fail sentinel.conf dalam direktori tempat perkhidmatan redis dimulakan, dan edit fail konfigurasi ini

` sentinel monitor host6379 127.0.0.1 6381 1  `

2 >redis-sentinel 【文件目录】/sentinel.conf

Nota: Dalam mod Sentinel, apabila pangkalan data induk asal disambungkan semula, Sentinel akan menambah operasinya pada pangkalan data induk baharu, iaitu, ia akan wujud sebagai pangkalan data hamba bagi pangkalan data induk baharu.

Lima: Prinsip:

 连接建立-->数据同步-->命令持续传播
 
 在从节点执行 slaveof 命令后,复制过程便开始运作,下面图示大概可以看到,\
Seperti yang dapat dilihat dari rajah, proses penyalinan secara kasar dibahagikan kepada 6 proses

Mari kita bercakap tentang replikasi tuan-hamba dalam redis

Rekod log selepas konfigurasi induk-hamba juga boleh melihat proses ini

1) Simpan maklumat nod induk (induk).

Selepas melaksanakan slaveof, Redis akan mencetak log berikut:

Mari kita bercakap tentang replikasi tuan-hamba dalam redis

2) Nod hamba (hamba) mengekalkan logik berkaitan replikasi melalui tugas berjadual yang dijalankan setiap saat. Apabila tugas yang dijadualkan Selepas menemui kewujudan nod induk baharu, ia akan cuba mewujudkan sambungan rangkaian dengan nod

Mari kita bercakap tentang replikasi tuan-hamba dalam redis

Nod hamba akan mewujudkan sambungan rangkaian dengan nod induk

Nod hamba akan mewujudkan soket soket, nod hamba mewujudkan soket dengan port 51234, yang digunakan khas untuk menerima arahan replikasi yang dihantar oleh nod induk. Selepas nod hamba berjaya disambungkan, log berikut dicetak:

Mari kita bercakap tentang replikasi tuan-hamba dalam redis

Jika nod hamba tidak dapat mewujudkan sambungan, tugas yang dijadualkan akan mencuba semula selama-lamanya sehingga sambungan berjaya atau hamba tiada siapa yang dilaksanakan untuk membatalkan replikasi. Mengenai kegagalan sambungan, anda boleh melaksanakan replikasi maklumat pada nod hamba untuk melihat penunjuk master_link_down_since_seconds, yang merekodkan masa sistem apabila sambungan ke nod induk gagal. Apabila nod hamba gagal bersambung ke nod induk, log berikut akan dicetak setiap saat untuk memudahkan penemuan masalah:

# Error condition on socket for SYNC: {socket_error_reason}
3) Hantar arahan ping.

Selepas sambungan berjaya diwujudkan, nod hamba menghantar permintaan ping untuk komunikasi pertama Tujuan utama permintaan ping adalah seperti berikut:
·Kesan sama ada soket rangkaian antara tuan dan hamba tersedia.
·Kesan sama ada nod induk boleh menerima arahan pemprosesan pada masa ini.
Jika selepas menghantar arahan ping, nod hamba tidak menerima balasan pong daripada nod induk atau masa tamat, seperti masa rangkaian tamat atau nod induk disekat dan tidak boleh bertindak balas kepada arahan itu, nod hamba akan putuskan sambungan sambungan replikasi, dan tugas berjadual seterusnya akan memulakan penyambungan semula .

Mari kita bercakap tentang replikasi tuan-hamba dalam redis

Mari kita bercakap tentang replikasi tuan-hamba dalam redis

Arahan ping yang dihantar daripada nod berjaya dikembalikan, Redis mencetak log berikut dan meneruskan proses replikasi seterusnya:

Mari kita bercakap tentang replikasi tuan-hamba dalam redis

4) Pengesahan kebenaran. Jika parameter requirepass ditetapkan pada nod induk, pengesahan kata laluan diperlukan Nod hamba mesti mengkonfigurasi parameter masterauth untuk memastikan kata laluan adalah sama dengan nod induk untuk lulus pengesahan, replikasi akan berlaku ditamatkan dan nod hamba akan memulakan semula proses replikasi.

5) Segerakkan set data. Selepas sambungan replikasi induk-hamba berkomunikasi secara normal, apabila replikasi diwujudkan buat kali pertama, nod induk akan menghantar semua data yang dipegangnya ke nod hamba Bahagian operasi ini adalah langkah terpanjang.

6) Perintah untuk terus menyalin. Apabila nod induk menyegerakkan data semasa ke nod hamba, proses penubuhan replikasi selesai. Seterusnya, nod induk akan terus menghantar arahan tulis kepada nod hamba untuk memastikan ketekalan data induk-hamba.

Untuk lebih banyak pengetahuan berkaitan pengaturcaraan, sila lawati: Video Pengaturcaraan! !

Atas ialah kandungan terperinci Mari kita bercakap tentang replikasi tuan-hamba dalam redis. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:juejin.cn. Jika ada pelanggaran, sila hubungi admin@php.cn Padam