Rumah  >  Artikel  >  pangkalan data  >  Mari bercakap tentang mod Sentinel (Sentine) dalam Redis

Mari bercakap tentang mod Sentinel (Sentine) dalam Redis

青灯夜游
青灯夜游ke hadapan
2021-11-29 19:18:332280semak imbas

Artikel ini akan membawa anda memahami mod Sentinel (Sentine) dalam Redis, memperkenalkan mekanisme kerja Sentinel, dan cara membina mod Sentinel saya harap ia akan membantu anda.

Mari bercakap tentang mod Sentinel (Sentine) dalam Redis

Mod Redis Sentinel ialah sistem yang diedarkan Anda boleh menjalankan berbilang proses Sentinel (kemajuan) dalam satu seni bina Proses ini menggunakan protokol gosip untuk Menerima maklumat tentang sama ada pelayan induk luar talian dan menggunakan protokol perjanjian untuk memutuskan sama ada untuk melakukan failover automatik dan pelayan hamba yang hendak dipilih sebagai pelayan induk baharu. [Cadangan berkaitan: Tutorial video Redis]

Sistem Sentinel Redis digunakan untuk mengurus berbilang pelayan Redis (contoh) Sistem melaksanakan tiga tugas berikut:

  • Pemantauan: Sentinel akan sentiasa menyemak sama ada pelayan induk dan pelayan hamba anda beroperasi secara normal.
  • Pemberitahuan : Apabila terdapat masalah dengan pelayan Redis yang dipantau, Sentinel boleh menghantar pemberitahuan kepada pentadbir atau aplikasi lain melalui API.
  • Failover automatik : Apabila pelayan induk gagal berfungsi dengan betul, Sentinel akan memulakan operasi failover automatik, yang akan meningkatkan salah satu pelayan hamba pelayan induk yang gagal sebagai induk baharu pelayan, dan biarkan pelayan hamba lain pelayan induk yang gagal menukar untuk meniru pelayan induk baharu apabila pelanggan cuba menyambung ke pelayan induk yang gagal, kluster itu juga akan mengembalikan alamat pelayan induk baharu kepada pelanggan, supaya kluster boleh Gantikan pelayan yang gagal dengan pelayan utama baharu.

Mekanisme kerja sentinel

  • Setiap sentinel menghantar arahan PING kepada tuan, hamba dan contoh sentinel lain yang diketahuinya sekali sesaat 🎜>

  • Jika masa sejak balasan terakhir yang sah kepada arahan PING melebihi nilai yang ditentukan oleh pilihan turun-selepas milisaat, kejadian itu akan ditandakan sebagai luar talian secara subjektif oleh sentinel.
  • Jika master ditandakan sebagai subjektif luar talian, semua sentinel yang memantau tuan mesti mengesahkan sekali sesaat bahawa tuan telah benar-benar memasuki keadaan luar talian subjektif
  • Apabila bilangan pengawal yang mencukupi (lebih daripada atau sama dengan nilai yang dinyatakan dalam fail konfigurasi) mengesahkan bahawa induk memang telah memasuki keadaan luar talian subjektif dalam julat masa yang ditentukan, induk akan ditandakan sebagai luar talian secara objektif
  • Dalam keadaan biasa, setiap sentinel akan menghantar arahan INFO kepada semua tuan dan hamba yang diketahuinya sekali setiap 10 saat
  • Apabila tuan ditandakan sebagai luar talian secara objektif oleh sentinel, kekerapan sentinel menghantar arahan INFO kepada semua hamba tuan luar talian akan ditukar daripada sekali setiap 10 saat kepada sekali setiap 1 saat
  • Jika tiada cukup Bilangan pengawal bersetuju bahawa tuan telah berada di luar talian, dan status luar talian objektif tuan akan dialih keluar; Jika tuan mengembalikan balasan yang sah kepada arahan PING sentinel, status luar talian subjektif tuan akan dialih keluar
  • Persediaan mod Sentinel

Persekitaran

master:127.0.0.1:6379 【初始化master】

slave:127.0.0.1:6380  127.0.0.1:6381

sentinel:127.0.0.1:26379  127.0.0.1:26380  127.0.0.1:26381
Ubah suai konfigurasi:
  • Pemasangan redis ditinggalkan di sini dan fail konfigurasi sentinel diubah suai secara langsung. Folder sepadan Redis6379-Redis6381

Arahan Mula
# 监控节点,且超过2个sentinel 任务故障,方可执行故障转移
sentinel monitor mymaster 127.0.0.1 6379 2
# 如果节点在 30000毫秒内未回应,就认为故障
sentinel down-after-milliseconds mymaster 30000
# 如果故障转移后,同时进行主从复制数为 1
sentinel parallel-syncs mymaster 1
# 故障转移的超时时间
sentinel failover-timeout mymaster 180000
sentinel deny-scripts-reconfig yes

Untuk lebih banyak pengetahuan berkaitan pengaturcaraan, sila lawati:
./src/redis-sentinel ./config/redis-sentinel-6379.conf(同样启动6380 6381)
Pengenalan kepada Pengaturcaraan

! !

Atas ialah kandungan terperinci Mari bercakap tentang mod Sentinel (Sentine) dalam Redis. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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