Artikel ini akan memberi anda pemahaman yang mendalam tentang prinsip mod sentinel Redis, bercakap tentang perkara yang boleh dilakukan oleh sentinel, mulakan kaedah sentinel dan aliran kerja Sentinel saya harap ia dapat membantu semua orang.
Di atas memperkenalkan prinsip Redis master-slave Ia menyelesaikan masalah sandaran data Redis Nod induk tidak boleh dipilih secara automatik kegagalan. Nod induk baharu memerlukan tetapan manual nod hamba sebagai nod induk, yang tidak cekap dan tidak boleh mencapai failover automatik secara rasminya menyediakan penyelesaian ketersediaan tinggi Sentinel.
Redis Sentinel ialah penyelesaian ketersediaan tinggi rasmi untuk Redis. Redis Sentinel menyediakan ketersediaan yang tinggi untuk Redis. Dalam amalan, ini bermakna bahawa menggunakan Sentinel anda boleh mencipta gugusan Redis yang tahan terhadap jenis kegagalan tertentu dan secara automatik melaksanakan failover tanpa campur tangan manusia. [Cadangan berkaitan: Tutorial video Redis]
1. Pantau status kesihatan nod kluster redis (replika induk) dan nod sentinel
2. Jika induk gagal, sentinel boleh melaksanakan failover dan memberitahu pelanggan Sambung kepada tuan baharu.
3. Pemberitahuan: Melalui API, pemberitahuan boleh dihantar kepada pentadbir dan pembangun Instance redis yang dipantau telah gagal
4 aksesnya. Induk mengembalikan maklumat nod kepada klien
1 >
2. redis-server /path/to/sentinel.conf --sentinel arahan konfigurasi sentinel.conf adalah seperti berikut# 配置需要监控的master节点信息 2代表法定人数 作用是表示需要最少需要多少个sentinel节点同意 #master节点不可达才标记为客观下线 #举例 5个sentinel实例 quorum设置成2 那么有2个sentinel节点认为master不可达, #则其中一个会启动故障转移#如果至少有三个哨兵可到达,故障转移将被授权并实际启动。 sentinel monitor mymaster 127.0.0.1 6379 2 #只需要配置master sentinel会自动检测slave信息 sentinel down-after-milliseconds mymaster 60000 #如果master在指定时间内没有响应ping命令/或报错,则认为主观下线了。 sentinel failover-timeout mymaster 180000 sentinel parallel-syncs mymaster 1 #指定故障转移的时候,同时支持多少个replica并行的与master同步数据,越小故障转移越久 #以上配置可以通过SENTINEL SET command.来实时修改。 sentinel monitor resque 192.168.1.3 6380 4 sentinel down-after-milliseconds resque 10000 sentinel failover-timeout resque 180000 sentinel parallel-syncs resque 5
Apabila pertimbangan nod pada nod induk melebihi bilangan kuorum (kuorum yang dikonfigurasikan dalam konfigurasi sentinel), nod sentinel akan berfikir bahawa memang terdapat masalah dengan nod induk, jadi ia akan berada di luar talian secara objektif nod sentinel bersetuju operasi luar talian, iaitu, objektif luar talian. sentinel is-masterdown-by-addr
Selepas memilih nod induk, mula mengekalkan perhubungan kluster.
1. Sentinel nod, hantar slave no one command ke nod master baharu untuk menjadikannya nod bebas
2, hantar slaveof ip port ke nod lain, ikuti ke nod induk
Melalui analisis di atas, sentinel boleh mencapai failover automatik melalui kaedah pemantauan tetap, seperti situasi daripada nod induk tunggal Di bawah keadaan ini, terdapat kemungkinan kehilangan data, dan jika prestasi mesin tunggal adalah terhad, tiada keupayaan untuk berkembang secara mendatar.
Untuk lebih banyak pengetahuan berkaitan pengaturcaraan, sila lawati: Pengenalan kepada Pengaturcaraan! !
Atas ialah kandungan terperinci Analisis ringkas tentang prinsip mod sentri dalam Redis. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!