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
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:
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: -
Maksud beberapa konfigurasi adalah seperti yang ditunjukkan dalam rajah di bawah:
-
Mulakan Sentinel
redis-sentinel filename #filename指的是配置文件名 #每个哨兵都要配置自己的配置文件
Salin selepas log masuk 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:
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中保存的基本信息
Salin selepas log masuk
-
-
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
Salin selepas log masuk
-
Prinsip kerja dalaman khusus adalah seperti berikut:
- 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:
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) -
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
- Sentinel berada dalam senarai pelayan Prinsip memilih induk alternatif: Kecualikan dahulu, kemudian pilih
-
Selepas memilih master baharu, sentri menghantar arahan kepada pelayan:
Kepada tuan baharu Hantar
slaveof no one
perintahkepada hamba lain Hantar
slaveof 新masterIP端口
perintah
dan juga beritahu sentri lain Siapa tuan baru
5 : menyegerakkan maklumat
Fasa pemberitahuan: kekal berhubungPeringkat Failover:
Sentinel mengesan masalah dan menandakan subjektif luar talian dan objektif luar talian dalam urutan
- Pilih pengawal yang bertanggungjawab
- Pilih tuan baharu
- Tuan baharu mengambil alih jawatan, dan hamba lain menyambung kepada tuan baharu
- Selepas tuan asal dipulihkan, ia menyambung kepada tuan baharu sebagai hamba
- Pembelajaran yang disyorkan: 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!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas





Mod Redis cluster menyebarkan contoh Redis ke pelbagai pelayan melalui sharding, meningkatkan skalabilitas dan ketersediaan. Langkah -langkah pembinaan adalah seperti berikut: Buat contoh Redis ganjil dengan pelabuhan yang berbeza; Buat 3 contoh sentinel, memantau contoh redis dan failover; Konfigurasi fail konfigurasi sentinel, tambahkan pemantauan maklumat contoh dan tetapan failover; Konfigurasi fail konfigurasi contoh Redis, aktifkan mod kluster dan tentukan laluan fail maklumat kluster; Buat fail nodes.conf, yang mengandungi maklumat setiap contoh Redis; Mulakan kluster, laksanakan perintah Buat untuk membuat kluster dan tentukan bilangan replika; Log masuk ke kluster untuk melaksanakan perintah maklumat kluster untuk mengesahkan status kluster; buat

Cara Mengosongkan Data Redis: Gunakan perintah Flushall untuk membersihkan semua nilai utama. Gunakan perintah flushdb untuk membersihkan nilai utama pangkalan data yang dipilih sekarang. Gunakan Pilih untuk menukar pangkalan data, dan kemudian gunakan FlushDB untuk membersihkan pelbagai pangkalan data. Gunakan perintah DEL untuk memadam kunci tertentu. Gunakan alat REDIS-CLI untuk membersihkan data.

Untuk membaca giliran dari Redis, anda perlu mendapatkan nama giliran, membaca unsur -unsur menggunakan arahan LPOP, dan memproses barisan kosong. Langkah-langkah khusus adalah seperti berikut: Dapatkan nama giliran: Namakannya dengan awalan "giliran:" seperti "giliran: my-queue". Gunakan arahan LPOP: Keluarkan elemen dari kepala barisan dan kembalikan nilainya, seperti LPOP Queue: My-Queue. Memproses Baris kosong: Jika barisan kosong, LPOP mengembalikan nihil, dan anda boleh menyemak sama ada barisan wujud sebelum membaca elemen.

Menggunakan Arahan Redis memerlukan langkah -langkah berikut: Buka klien Redis. Masukkan arahan (nilai kunci kata kerja). Menyediakan parameter yang diperlukan (berbeza dari arahan ke arahan). Tekan Enter untuk melaksanakan arahan. Redis mengembalikan tindak balas yang menunjukkan hasil operasi (biasanya OK atau -r).

Menggunakan REDIS untuk mengunci operasi memerlukan mendapatkan kunci melalui arahan SETNX, dan kemudian menggunakan perintah luput untuk menetapkan masa tamat tempoh. Langkah-langkah khusus adalah: (1) Gunakan arahan SETNX untuk cuba menetapkan pasangan nilai utama; (2) Gunakan perintah luput untuk menetapkan masa tamat tempoh untuk kunci; (3) Gunakan perintah DEL untuk memadam kunci apabila kunci tidak lagi diperlukan.

Cara terbaik untuk memahami kod sumber REDIS adalah dengan langkah demi langkah: Dapatkan akrab dengan asas -asas Redis. Pilih modul atau fungsi tertentu sebagai titik permulaan. Mulakan dengan titik masuk modul atau fungsi dan lihat baris kod mengikut baris. Lihat kod melalui rantaian panggilan fungsi. Berhati -hati dengan struktur data asas yang digunakan oleh REDIS. Kenal pasti algoritma yang digunakan oleh Redis.

Gunakan alat baris perintah redis (redis-cli) untuk mengurus dan mengendalikan redis melalui langkah-langkah berikut: Sambungkan ke pelayan, tentukan alamat dan port. Hantar arahan ke pelayan menggunakan nama arahan dan parameter. Gunakan arahan bantuan untuk melihat maklumat bantuan untuk arahan tertentu. Gunakan perintah berhenti untuk keluar dari alat baris arahan.

Kerugian data REDIS termasuk kegagalan memori, gangguan kuasa, kesilapan manusia, dan kegagalan perkakasan. Penyelesaiannya adalah: 1. 2. Salin ke beberapa pelayan untuk ketersediaan tinggi; 3. Ha dengan redis sentinel atau cluster redis; 4. Buat gambar untuk membuat sandaran data; 5. Melaksanakan amalan terbaik seperti kegigihan, replikasi, gambar, pemantauan, dan langkah -langkah keselamatan.
