Rumah > Artikel > pangkalan data > Mari analisa mod sentri Redis bersama-sama
Artikel ini membawa anda pengetahuan yang berkaitan tentang Redis Ia terutamanya memperkenalkan isu berkaitan mod sentinel, termasuk konsep sentinel, peranan sentinel, sentinel yang membolehkan, prinsip sentinel, dsb. semoga Bermanfaat kepada semua.
Pembelajaran yang disyorkan: Tutorial Redis
Dalam struktur master-multi-slave, jika tuan turun, anda perlu memilih satu daripada berbilang hamba sebagai tuan baharu Untuk melengkapkan fungsi sedemikian, anda perlu Menggunakan Redis mekanisme sentinel
Sentinel (sentinel) ialah sistem teragih yang digunakan untuk memantau setiap pelayan dalam struktur tuan-hamba, apabila kegagalan berlaku , mekanisme pengundian memilih tuan baharu dan menghubungkan semua hamba kepada tuan baharu, seperti yang ditunjukkan dalam rajah di bawah:
Pemberitahuan (peringatan): Apabila ada masalah dengan pelayan yang dipantau, hantar pemberitahuan kepada pengawal lain dan pelayan Redis
Failover: Putuskan sambungan tuan dan hamba yang terjatuh, pilih Satu hamba berfungsi sebagai tuan, menghubungkan yang lain hamba kepada tuan baharu, dan memaklumkan pelanggan alamat pelayan baharu
Nota: Sentinel juga merupakan pelayan redis dan hanya menyediakan perkhidmatan Pemantauan tidak menyediakan data perkhidmatan pengurusan; biasanya bilangan sentinel dikonfigurasikan sebagai nombor ganjil (mudah untuk mengundi)
Ubah suai Konfigurasi sentinel. fail sentinel.conf
, fail konfigurasi terletak dalam direktori Redis, seperti yang ditunjukkan dalam rajah di bawah:
Maksud beberapa konfigurasi adalah seperti yang ditunjukkan dalam rajah di bawah:
Mulakan Sentinel
redis-sentinel filename #filename指的是配置文件名 #每个哨兵都要配置自己的配置文件
Selepas mengkonfigurasi dan memulakan Sentinel, selepas pelayan utama turun, ia akan dilaksanakan secara automatik Pengundian, penukaran tuan-hamba dan proses lain
Sentinel melalui tiga peringkat semasa proses penukaran tuan-hamba:
Digunakan untuk menyegerakkan maklumat status setiap nod, termasuk master, slave, sentinel, iaitu maklumat semua pelayan dalam keseluruhan sistem.
Fungsi yang telah dilengkapkan terutamanya:
Dapatkan status setiap sentinel (sama ada dalam talian atau tidak): baru ditambah Pengawal perlu berinteraksi dengan pengawal sedia ada dalam sistem
Dapatkan status tuan (melalui arahan maklumat)
Dapatkan kandungan Seperti berikut
1. master属性 runid role:master 2. 各个slave在master中保存的基本信息
Dapatkan status semua hamba (hantar arahan info kepada semua hamba berdasarkan maklumat hamba dalam tuan)
Kandungan yang diperolehi adalah seperti berikut
slave属性 runid role:slave master_host、master_port offset
Prinsip kerja dalaman khusus adalah seperti berikut:
Semasa fasa pemberitahuan, pengawal mesti terus mendapatkan maklumat tuan dan hamba, dan kemudian berkongsi maklumat yang diperolehi antara pelbagai pengawal.
Proses khusus adalah seperti berikut:
Sentinel menghantar hello
arahan kepada tuan dan hamba melalui sambungan cmd yang telah ditetapkan, mendapatkan maklumat mereka, dan kemudian dalam hubungan Perkongsian rangkaian:
Putuskan sambungan tuan yang jatuh daripada hamba, pilih hamba sebagai tuan, dan Hamba lain sambung kepada tuan baharu dan maklumkan alamat pelayan baharu kepada klien.
Proses khusus adalah seperti berikut:
Sentinel 1 tidak pernah menerima maklum balas daripada tuan, dan secara subjektif menilai bahawa tuan itu turun, menandakan sdown
(Hanya seorang sentinel yang berpendapat bahawa tuannya tidak berfungsi)
Sentinel 1 menghantar mesej dalam rangkaian perhubungan dan menghantar mesej di penjuru kiri sebelah atas gambar kepada sentinel lain
Selepas sentinel lain mendapat mesej, mereka semua menghantar mesej kepada tuan untuk menentukan sama ada tuannya turun. tuan telah turun, mereka akan menukar tanda kepada odown
(Selepas semua pengesanan sentinel, lebih separuh daripada sentinel percaya bahawa tuan telah turun)
Apabila ia bertekad bahawa tuan telah turun, tuan baru perlu dipilih pada masa ini, yang sentinel Penyelesaian perkara ini mesti diputuskan melalui pemilihan di kalangan sentinel Proses khusus adalah seperti berikut:
Apabila pengawal selesai Selepas pilihan raya, pengawal yang memenangi pilihan raya kemudiannya akan memilih satu daripada hamba dan mengubahnya menjadi tuan baru proses adalah seperti berikut:
Selepas memilih master baharu, sentri menghantar arahan kepada pelayan:
Kepada tuan baharu Hantar slaveof no one
perintah
kepada hamba lain Hantar slaveof 新masterIP端口
perintah
dan juga beritahu sentri lain Siapa tuan baru
Peringkat Failover:
Sentinel mengesan masalah dan menandakan subjektif luar talian dan objektif luar talian dalam urutan
Atas ialah kandungan terperinci Mari analisa mod sentri Redis bersama-sama. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!