Rumah  >  Artikel  >  pangkalan data  >  Mari analisa mod sentri Redis bersama-sama

Mari analisa mod sentri Redis bersama-sama

WBOY
WBOYke hadapan
2022-03-16 17:44:582234semak imbas

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.

Mari analisa mod sentri Redis bersama-sama

Pembelajaran yang disyorkan: Tutorial Redis

Mod Sentinel

Konsep Sentinel

  • 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:

    Mari analisa mod sentri Redis bersama-sama

2. Fungsi Sentinel

  • Pemantauan: Pantau tuan dan hamba
    • Semak secara berterusan sama ada tuan dan hamba adalah operasi Normal
    • Pengesanan kelangsungan hidup induk, pengesanan status operasi induk dan hamba
  • 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)

3 Dayakan sentinel

  • Ubah suai Konfigurasi sentinel. fail sentinel.conf, fail konfigurasi terletak dalam direktori Redis, seperti yang ditunjukkan dalam rajah di bawah:

    Mari analisa mod sentri Redis bersama-samaMari analisa mod sentri Redis bersama-sama
  • Maksud beberapa konfigurasi adalah seperti yang ditunjukkan dalam rajah di bawah:

    Mari analisa mod sentri Redis bersama-sama
  • 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

4 Prinsip Sentinel

Sentinel melalui tiga peringkat semasa proses penukaran tuan-hamba:

  • Pemantauan
  • Pemberitahuan
  • Failover

4.1 Pemantauan

Digunakan untuk menyegerakkan maklumat status setiap nod, termasuk master, slave, sentinel, iaitu maklumat semua pelayan dalam keseluruhan sistem.

Fungsi yang telah dilengkapkan terutamanya:

Mari analisa mod sentri Redis bersama-sama

  • 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:

Mari analisa mod sentri Redis bersama-sama

  • Selepas Sentinel 1 menghantar arahan info kepada induk, ia akan mewujudkan sambungan cmd Sambungan yang dibuat digunakan untuk menghantar arahan
  • Selepas sambungan cmd dibuat, keadaan semasa akan menjadi. disimpan di bahagian Sentinel 1 Untuk semua maklumat yang diperolehinya, tuan di hujung yang satu lagi akan menyimpan maklumat yang dipegangnya
  • Kemudian Sentinel 1 menghantar arahan info kepada hamba berdasarkan maklumat tentang salve. diperoleh daripada tuan untuk mendapatkan maklumat salve dan memperkayakan maklumat yang disimpan
  • Apabila Sentinel 2 baharu ditambah, Sentinel 2 menghantar arahan info kepada tuan untuk mewujudkan sambungan cmd tuan, Sentinel 1 yang sedia ada sebelum ini boleh diperolehi dengan sendirinya Simpan maklumat yang telah anda perolehi. Kemudian tentukan sama ada Sentinel 1 berada dalam talian, dan wujudkan sambungan dengan Sentinel 1. Kedua-duanya bertukar maklumat antara satu sama lain, dan kedua-dua pihak akan terus melakukan ping untuk memastikan terdapat komunikasi yang lancar antara mereka
  • Sentinel 2 berdasarkan maklumat hamba diperolehi daripada tuan , dan kemudian dapatkan maklumat daripada hamba untuk memperkayakan maklumat yang disimpannya
  • Apabila menambah Sentinel 3, ia adalah serupa dengan proses sebelumnya, dan akhirnya ketiga-tiga Sentinel mewujudkan rangkaian perhubungan
  • Rangkaian perhubungan Mereka bertiga akan bertukar dan menghantar maklumat antara satu sama lain Model yang berfungsi dalam rangkaian perhubungan ini dipanggil model publish-subscribe

. 4.2 Pemberitahuan

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:

Mari analisa mod sentri Redis bersama-sama

4.3 Failover

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)

    Mari analisa mod sentri Redis bersama-sama
  • 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:

    • Semasa pilihan raya, setiap sentinel mempunyai undi, dan setiap sentri akan mengeluarkan arahan Beritahu sentinel lain dalam intranet untuk menjadi pemilih Sebagai contoh, sentinel1 dan sentinel2 mengeluarkan arahan pilihan raya ini, kemudian sentinel3 menerima permohonan mereka mengundi salah satu parti, berdasarkan susunan ketibaan Mengundi mengikut urutan , parti yang mendapat undi akan mempunyai satu lagi undi pilihanraya Mengikut borang ini, akhirnya akan ada keputusan pilihan raya. dan sentinel dengan undian terbanyak akan dipilih
    • dalam ini Mungkin terdapat kegagalan semasa proses Contohnya, jika pilihan raya tidak berjaya pada pusingan pertama, maka pusingan kedua dan ketiga akan diteruskan sehingga pilihan raya selesai
  • 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:

    • Sentinel berada dalam senarai pelayan Prinsip memilih induk alternatif: Kecualikan dahulu, kemudian pilih
      • Keluar yang tidak dalam talian
      • Keluar yang bertindak balas perlahan
      • Keluar yang telah lama terputus sambungan daripada induk asal
      • Pengecualian telah tamat dan pemilihan bermula
      • Mereka yang mempunyai keutamaan yang lebih tinggi akan dipilih
      • Mereka yang mempunyai ofset yang lebih besar akan dipilih (lebih besar bermakna data induk asal paling banyak disegerakkan)
      • Jika ia belum dipilih lagi, ia akan dipilih berdasarkan runid
  • 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

5 : menyegerakkan maklumat

Fasa pemberitahuan: kekal berhubung

Peringkat Failover:

Sentinel mengesan masalah dan menandakan subjektif luar talian dan objektif luar talian dalam urutan

    Pilih pengawal yang bertanggungjawab
  1. Pilih tuan baharu
  2. Tuan baharu mengambil alih jawatan, dan hamba lain menyambung kepada tuan baharu
  3. Selepas tuan asal dipulihkan, ia menyambung kepada tuan baharu sebagai hamba
  4. Pembelajaran yang disyorkan:
  5. Tutorial video Redis

Atas ialah kandungan terperinci Mari analisa mod sentri Redis bersama-sama. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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