cari
Rumahpangkalan dataRedisApakah prinsip failover Sentinel dalam Redis?

Apakah itu Sentinel?

Sentinel ialah penyelesaian ketersediaan tinggi untuk redis Replikasi tuan-hamba yang kita bincangkan sebelum ini adalah asas ketersediaan tinggi, tetapi replikasi tuan-hamba tulen memerlukan campur tangan manual untuk menyelesaikannya. . Failover, Sentinel boleh menyelesaikan masalah ini Dalam kes replikasi tuan-hamba, apabila nod induk gagal, Sentinel boleh mengesan kegagalan secara automatik dan melengkapkan failover, mencapai ketersediaan tinggi redis. Dalam kelompok sentinel, sentinel akan memantau status semua pelayan redis dan nod sentinel lain, mengesan kegagalan dalam masa dan pemindahan lengkap, dengan itu memastikan ketersediaan redis yang tinggi.

Membina Kluster Sentinel

Walaupun Sentinel pada asasnya adalah perkhidmatan Redis, ia menyediakan fungsi yang berbeza daripada perkhidmatan Redis biasa. Sentinel ialah seni bina yang diedarkan, kerana jika anda ingin memastikan ketersediaan redis yang tinggi, anda perlu memastikan ketersediaan tinggi anda sendiri terlebih dahulu, jadi jika kita perlu membina sentinel, kita perlu menggunakan sekurang-kurangnya tiga kejadian, sebaik-baiknya nombor ganjil , kerana dalam failover seterusnya Akan ada pengundian yang terlibat.

Kami boleh memuat turun fail konfigurasi sentinel di bawah projek GitHub redis Terdapat fail yang dipanggil sentinel.conf di bawah projek Anda boleh menggunakannya sebagai templat konfigurasi sentinel kami, anda juga boleh menggunakan redis. conf Fail konfigurasi, cuma tambah konfigurasi berkaitan sentinel.

Tidak banyak item konfigurasi yang berkaitan dengan Sentinel, terutamanya terdapat item konfigurasi berikut:

// 端口号,默认是 redis 实例+20000,所以我们沿用这个规则就好了 port 26379  // 是否守护进程运行 daemonize yes // 日志存放的位置,这个非常重要,通过日志可以查看故障转移的过程 logfile "26379.log"  // 监视一个名为 mymaster(自定义) 的 redis 主服务器, 这个主服务器的 IP 地址为 127.0.0.1 , 端口号为 6379 , // 最后面的 2 代表着至少有两个哨兵认为主服务器出现故障才会进行故障转移,否则认定主服务未失效 sentinel monitor mymaster 127.0.0.1 6379 2  // 哨兵判断服务器失效的响应时间,超过这个时间未接收到服务器的回应,就认为该服务器失效了 sentinel down-after-milliseconds mymaster 30000  // 完成故障转移之后,最多多少个从服务器可以同时发起数据复制,数字越小,说明完成全部从服务数据复制的时间越长 // 数字越大,对主服务器的压力就变大了 sentinel parallel-syncs mymaster 1  // 故障转移超时时间 sentinel failover-timeout mymaster 180000

Kecuali konfigurasi port dan fail log yang berbeza untuk setiap contoh Sentinel, item konfigurasi lain adalah sama. . Selepas mengubah suai konfigurasi, kita boleh menggunakan perintah ./redis-sentinel sentinel.conf untuk memulakan sentinel Perintah itu serupa dengan permulaan instance redis Kerana sentinel juga merupakan instance redis, kita boleh menggunakan ./redis-. cli -p 26379 info arahan sentinel untuk melihatnya Maklumat sentinel semasa adalah seperti yang ditunjukkan di bawah:

Apakah prinsip failover Sentinel dalam Redis?

Maklumat sentinel

Soalan: Bagaimana untuk menemui hamba. pelayan dan pelayan lain apabila hanya pelayan induk dikonfigurasikan Sentinel ?

Penemuan pelayan hamba, Sentinel boleh mendapatkan maklumat pelayan hamba dengan meminta pelayan induk Untuk penemuan nod Sentinel lain, ia dilaksanakan melalui penerbitan dan langgan fungsi, dan dicapai dengan menghantar maklumat ke saluran sentinel:hello Terdapat dua langkah utama:

1 Setiap Sentinel akan menghantar mesej kepada saluran sentinel:hello semua perkhidmatan induk dan pelayan hamba setiap 2 saat. melalui fungsi terbitkan dan langgan. Mesej mengandungi alamat IP Sentinel, nombor port dan ID berjalan (runid)

2 Setiap Sentinel melanggan saluran sentinel:hello semua pelayan induk dan pelayan hamba yang dipantau olehnya. dan mencari pengawal yang belum muncul sebelum ini (mencari pengawal yang tidak diketahui). Apabila Sentinel menemui Sentinel baharu, ia menambahkan Sentinel baharu pada senarai yang menyimpan semua Sentinel lain yang diketahui Sentinel dan memantau pelayan induk yang sama

Prinsip failover Sentinel

Failover ialah yang utama kerja Sentinel. Logik pelaksanaan di belakangnya juga sangat rumit Sila semak buku yang berkaitan untuk logik pelaksanaan khusus Saya telah meringkaskan tiga perkara berikut tentang kegagalan Sentinel:

1 🎜>

Setiap nod Sentinel menghantar arahan ping ke nod induk, nod hamba dan nod Sentinel lain setiap 1 saat untuk pengesanan degupan jantung bagi menentukan status pelayan. Nod

juga akan bertindak balas dengan sewajarnya kepada Sentinel Antara balasan ini, tiga balasan berikut adalah balasan yang sah:

  • Pulangan +PONG

  • PULANGAN-MEMUAT
  • RETURN-MASTERDOWN
  • Jika nod berada dalam tetapan induk-turun-selepas Sentinel fail konfigurasi Dalam nilai pilihan milisaat, tiada balasan yang sah, maka Sentinel akan menandai pelayan sebagai luar talian Kami memanggilnya di luar talian sebagai luar talian subjektif, yang bermaksud hanya pengawal ini yang menganggap pelayan itu di luar talian.

Jika pelayan yang secara subjektif di luar talian adalah pelayan utama, untuk mengesahkan sama ada pelayan utama benar-benar luar talian, Sentinel akan meminta Sentinel lain yang juga memantau pelayan utama untuk melihat sama ada mereka juga berpendapat bahawa Pelayan utama memasuki keadaan luar talian Apabila cukup Sentinel percaya bahawa pelayan utama berada di luar talian, Sentinel akan menilai pelayan utama secara objektif Ini benar-benar luar talian, dan akan melakukan operasi failover padanya.

2. Pilih nod Sentinel untuk menyelesaikan tugas pemindahan

Failover tidak diselesaikan oleh semua sentinel bersama-sama, tetapi dengan memilih nod sentinel sebagai ketua untuk menyelesaikan ini. , apabila pelayan utama ditandakan sebagai luar talian secara objektif, pengawal akan memilih ketua melalui algoritma Raft untuk menyelesaikan kerja failover. Peraturan dan kaedah amnya adalah seperti berikut.

  • Apabila sentinel menandakan pelayan induk sebagai luar talian secara subjektif, ia akan menghantar arahan sentinel is-master-down-by-addr ke nod Sentinel lain, meminta untuk menetapkan dirinya sebagai ketua

  • Nod Sentinel yang menerima perintah itu mengguna pakai peraturan diutamakan dilayan jika ia tidak bersetuju dengan perintah sentinel is-master-down-by-addr nod Sentinel lain, ia. akan bersetuju dengan permintaan itu, jika tidak, ia akan ditolak

  • Jika nod Sentinel mendapati ia mempunyai lebih daripada separuh undi, ia akan menjadi ketua

  • Jika tiada pemimpin dipilih dalam masa yang ditetapkan ketua pengawal, maka ia akan dipilih semula selepas satu tempoh masa sehingga ketua pengawal dipilih.

  • 3 Pilih pelayan induk baharu untuk melengkapkan failover

    Ketua sentinel yang dipilih akan menyelesaikan kerja failover dan failover yang tinggal Terdapat terutamanya tiga langkah:

    (1) Pilih pelayan induk baharu

    Pilih hamba di antara semua pelayan hamba pelayan induk luar talian dan tukarkannya kepada induk pelayan. atau balasan terakhir kepada arahan PING melebihi lima saat akan dihapuskan

    • Antara pelayan hamba di bawah pelayan induk yang gagal, mereka yang mempunyai pelayan induk yang gagal Pelayan hamba yang sambungannya terputus sambungan selama lebih daripada sepuluh kali masa yang ditentukan oleh pilihan selepas turun akan dihapuskan

    • Selepas dua pusingan penyingkiran di atas, pelayan hamba yang tinggal akan dipilih dengan mengimbangi replikasi terbesar menjadi pelayan induk baharu; jika mengimbangi replikasi tidak tersedia, atau mengimbangi replikasi pelayan hamba adalah sama, maka pelayan hamba dengan ID berjalan terkecil menjadi pelayan induk baharu

    • melaksanakan perintah slaveof no one pada pelayan slave yang dipilih untuk menjadikannya nod induk.

    (2) Ubah suai sasaran replikasi pelayan hamba lain

    Apabila pelayan induk baharu muncul, langkah seterusnya yang perlu dilakukan oleh ketua pengawal ialah membiarkan hamba lain pelayan Pelayan mereplikasi pelayan induk baharu dengan menghantar arahan port slaveof new_master kepada pelayan hamba lain Peraturan replikasi berkaitan dengan parameter penyegerakan selari bagi fail konfigurasi

    (3) Tukar yang lama. pelayan induk kepada Sebagai pelayan hamba

    Perkara terakhir yang perlu dilakukan dalam operasi failover ialah menetapkan pelayan induk luar talian sebagai pelayan hamba perkhidmatan induk baharu, perhatikannya dan perintah ia untuk pergi selepas ia pulih.

    Atas ialah kandungan terperinci Apakah prinsip failover Sentinel dalam Redis?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

    Kenyataan
    Artikel ini dikembalikan pada:亿速云. Jika ada pelanggaran, sila hubungi admin@php.cn Padam
    Redis: Pangkalan data atau pelayan? Demystifying perananRedis: Pangkalan data atau pelayan? Demystifying perananApr 28, 2025 am 12:06 AM

    Redisisbothadatabaseandaserver.1) asadatabase, itusesin-memorystorageforfastaccess, idealforreal-timeapplicationsandcaching.2) asaserver, itsupportspub/submessagingandluascriptingforreal-timecommunicationandserver-sideoperations.

    Redis: Kelebihan Pendekatan NoSQLRedis: Kelebihan Pendekatan NoSQLApr 27, 2025 am 12:09 AM

    Redis adalah pangkalan data NoSQL yang menyediakan prestasi dan fleksibiliti yang tinggi. 1) Simpan data melalui pasangan nilai utama, sesuai untuk memproses data berskala besar dan kesesuaian yang tinggi. 2) Penyimpanan memori dan model tunggal threaded memastikan bacaan dan tulis dan atom yang cepat. 3) Gunakan mekanisme RDB dan AOF untuk meneruskan data, menyokong ketersediaan dan skala yang tinggi.

    Redis: Memahami seni bina dan tujuannyaRedis: Memahami seni bina dan tujuannyaApr 26, 2025 am 12:11 AM

    Redis adalah sistem penyimpanan struktur data memori, terutamanya digunakan sebagai pangkalan data, cache dan broker mesej. Ciri-ciri terasnya termasuk model tunggal, multiplexing I/O, mekanisme ketekunan, replikasi dan fungsi clustering. Redis biasanya digunakan dalam aplikasi praktikal untuk caching, penyimpanan sesi, dan beratur mesej. Ia dapat meningkatkan prestasinya dengan memilih struktur data yang betul, menggunakan saluran paip dan urus niaga, dan pemantauan dan penalaan.

    Pangkalan Data Redis vs SQL: Perbezaan UtamaPangkalan Data Redis vs SQL: Perbezaan UtamaApr 25, 2025 am 12:02 AM

    Perbezaan utama antara pangkalan data REDIS dan SQL ialah REDIS adalah pangkalan data dalam memori, sesuai untuk keperluan prestasi tinggi dan fleksibiliti; Pangkalan data SQL adalah pangkalan data relasi, sesuai untuk pertanyaan kompleks dan keperluan konsistensi data. Khususnya, 1) REDIS menyediakan akses data berkelajuan tinggi dan perkhidmatan caching, menyokong pelbagai jenis data, sesuai untuk pemprosesan data caching dan masa nyata; 2) Pangkalan data SQL menguruskan data melalui struktur jadual, menyokong pertanyaan kompleks dan pemprosesan transaksi, dan sesuai untuk senario seperti sistem e-dagang dan kewangan yang memerlukan konsistensi data.

    Redis: Bagaimana ia berfungsi sebagai kedai data dan perkhidmatanRedis: Bagaimana ia berfungsi sebagai kedai data dan perkhidmatanApr 24, 2025 am 12:08 AM

    Redisactsasbothadatastoreandaservice.1) asadatastore, itusesin-memorystorageforfastoperations, supportingvariousdataStructuresLikey-valueepairsandsortedsets.2) asaservice, itprovidesfunctionalitiesticePub/subdressageSpleSclePing

    Redis vs Pangkalan Data Lain: Analisis PerbandinganRedis vs Pangkalan Data Lain: Analisis PerbandinganApr 23, 2025 am 12:16 AM

    Berbanding dengan pangkalan data lain, REDIS mempunyai kelebihan unik berikut: 1) kelajuan yang sangat cepat, dan membaca dan menulis operasi biasanya pada tahap microsecond; 2) menyokong struktur dan operasi data yang kaya; 3) Senario penggunaan fleksibel seperti cache, kaunter dan menerbitkan langganan. Apabila memilih REDI atau pangkalan data lain, ia bergantung kepada keperluan dan senario khusus. Redis berfungsi dengan baik dalam aplikasi berprestasi tinggi dan rendah latency.

    Peranan Redis: Meneroka Keupayaan Penyimpanan Data dan PengurusanPeranan Redis: Meneroka Keupayaan Penyimpanan Data dan PengurusanApr 22, 2025 am 12:10 AM

    Redis memainkan peranan penting dalam penyimpanan dan pengurusan data, dan telah menjadi teras aplikasi moden melalui pelbagai struktur data dan mekanisme kegigihannya. 1) REDIS menyokong struktur data seperti rentetan, senarai, koleksi, koleksi yang diperintahkan dan jadual hash, dan sesuai untuk logik perniagaan cache dan kompleks. 2) Melalui dua kaedah ketekunan, RDB dan AOF, Redis memastikan penyimpanan yang boleh dipercayai dan pemulihan data yang cepat.

    Redis: Memahami Konsep NoSQLRedis: Memahami Konsep NoSQLApr 21, 2025 am 12:04 AM

    Redis adalah pangkalan data NoSQL yang sesuai untuk penyimpanan dan akses data berskala besar. 1.Redis adalah sistem penyimpanan struktur data memori sumber terbuka yang menyokong pelbagai struktur data. 2. Ia menyediakan kelajuan membaca dan menulis yang sangat cepat, sesuai untuk caching, pengurusan sesi, dan lain -lain. 3.DIS menyokong kegigihan dan memastikan keselamatan data melalui RDB dan AOF. 4. Contoh penggunaan termasuk operasi pasangan nilai utama dan fungsi deduplikasi koleksi lanjutan. 5. Kesilapan umum termasuk masalah sambungan, jenis data yang tidak sepadan dan limpahan memori, jadi anda perlu memberi perhatian kepada debugging. 6. Cadangan Pengoptimuman Prestasi termasuk memilih struktur data yang sesuai dan menubuhkan strategi penghapusan memori.

    See all articles

    Alat AI Hot

    Undresser.AI Undress

    Undresser.AI Undress

    Apl berkuasa AI untuk mencipta foto bogel yang realistik

    AI Clothes Remover

    AI Clothes Remover

    Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

    Undress AI Tool

    Undress AI Tool

    Gambar buka pakaian secara percuma

    Clothoff.io

    Clothoff.io

    Penyingkiran pakaian AI

    Video Face Swap

    Video Face Swap

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

    Alat panas

    SublimeText3 versi Mac

    SublimeText3 versi Mac

    Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

    mPDF

    mPDF

    mPDF ialah perpustakaan PHP yang boleh menjana fail PDF daripada HTML yang dikodkan UTF-8. Pengarang asal, Ian Back, menulis mPDF untuk mengeluarkan fail PDF "dengan cepat" dari tapak webnya dan mengendalikan bahasa yang berbeza. Ia lebih perlahan dan menghasilkan fail yang lebih besar apabila menggunakan fon Unicode daripada skrip asal seperti HTML2FPDF, tetapi menyokong gaya CSS dsb. dan mempunyai banyak peningkatan. Menyokong hampir semua bahasa, termasuk RTL (Arab dan Ibrani) dan CJK (Cina, Jepun dan Korea). Menyokong elemen peringkat blok bersarang (seperti P, DIV),

    DVWA

    DVWA

    Damn Vulnerable Web App (DVWA) ialah aplikasi web PHP/MySQL yang sangat terdedah. Matlamat utamanya adalah untuk menjadi bantuan bagi profesional keselamatan untuk menguji kemahiran dan alatan mereka dalam persekitaran undang-undang, untuk membantu pembangun web lebih memahami proses mengamankan aplikasi web, dan untuk membantu guru/pelajar mengajar/belajar dalam persekitaran bilik darjah Aplikasi web keselamatan. Matlamat DVWA adalah untuk mempraktikkan beberapa kelemahan web yang paling biasa melalui antara muka yang mudah dan mudah, dengan pelbagai tahap kesukaran. Sila ambil perhatian bahawa perisian ini

    Penyesuai Pelayan SAP NetWeaver untuk Eclipse

    Penyesuai Pelayan SAP NetWeaver untuk Eclipse

    Integrasikan Eclipse dengan pelayan aplikasi SAP NetWeaver.

    VSCode Windows 64-bit Muat Turun

    VSCode Windows 64-bit Muat Turun

    Editor IDE percuma dan berkuasa yang dilancarkan oleh Microsoft