Apa yang berlaku jika nod induk gagal dalam kluster redis?
Jul 13, 2025 am 12:16 AMRedis Cluster mengendalikan kegagalan nod induk melalui pengesanan automatik, promosi replika, dan pengalihan pelanggan. 1. Node mengesan kegagalan melalui protokol gosip, menandakan nod sebagai PFAIL kemudian gagal jika majoriti tuan bersetuju. 2. Replika yang layak meminta undi, dan pemenang menjadi tuan baru, mengambil alih menulis dan pemilikan slot. 3. Kluster tidak secara automatik mengimbangi slot atau menggantikan replika yang hilang, yang memerlukan campur tangan manual. 4. Failover boleh mengakibatkan kehilangan data akibat replikasi async, walaupun konfigurasi seperti min-replicas-to-write dapat mengurangkan risiko.
Apabila kluster redis berjalan secara normal, semua nod (kedua -dua tuan dan replika) berkomunikasi menggunakan bas cluster redis. Sekiranya nod induk gagal, Redis Cluster mempunyai mekanisme terbina dalam untuk mengesan kegagalan, mempromosikan replika untuk menjadi tuan baru, dan mengagihkan semula trafik dengan sewajarnya.
Inilah cara ia berfungsi dengan lebih terperinci:
1. Pengesanan Kegagalan
Redis cluster node sentiasa ping satu sama lain untuk memeriksa kesihatan. Sekiranya nod induk menjadi tidak dapat dicapai (kerana kemalangan, partition rangkaian, dan lain -lain), nod lain menandakannya sebagai PFAIL
(mungkin gagal). Selepas beberapa lama, jika cukup nod bersetuju, status berubah menjadi FAIL
.
- Nod menggunakan protokol gosip untuk berkongsi maklumat.
- Sekurang -kurangnya
(N/2) 1
nod induk mesti mengakui kegagalan untuk kluster untuk meneruskan failover.
Mekanisme ini menghalang positif palsu kerana isu sementara atau cegukan rangkaian pendek.
2. Pilihan Raya dan failover replika
Sebaik sahaja tuan ditandakan sebagai FAIL
, salah satu replicasnya dipromosikan menjadi tuan baru.
- Replika yang layak untuk promosi adalah yang telah berjaya direplikasi data baru -baru ini.
- Kluster menggunakan sistem pengundian: Replicas meminta undi dari nod lain, dan yang pertama mendapat undi yang cukup menang.
- Selepas promosi, tuan baru mula menerima menulis, dan kluster mengemas kini keadaan dalamannya.
Pelanggan yang disambungkan ke tuan lama akan diarahkan ke Master baru secara automatik (jika mereka menyokong mod kluster).
3. Pengimbangan semula cluster (tidak segera)
Selepas failover, kelompok itu tidak segera mengimbangi slot atau membuat replika baru. Itu bermaksud:
- Sekiranya terdapat banyak replika sebelum ini, seseorang kini mungkin hilang.
- Pemilikan slot kekal dengan tuan baru.
- Anda perlu menambah replika baru kemudian jika dikehendaki.
Ini membantu mengelakkan overhead yang tidak perlu semasa kegagalan sementara tetapi meninggalkan ruang untuk campur tangan manusia.
4. Apa yang berlaku kepada data semasa failover?
Redis Cluster menggunakan replikasi tak segerak secara lalai, jadi ada kemungkinan kecil kehilangan data semasa failover:
- Sekiranya tuan telah menerima menulis yang belum direplikasi, perubahan tersebut mungkin hilang.
- Untuk mengurangkan risiko, anda boleh mengkonfigurasi REDI untuk menangguhkan pengakuan sehingga sekurang-kurangnya satu replika mengesahkan resit (tetapan
min-replicas-to-write
).
Namun, dalam kebanyakan persediaan, perdagangan antara prestasi dan konsistensi nikmat model async ini.
Itulah pada dasarnya bagaimana Redis Cluster mengendalikan kegagalan nod induk - pengesanan, perjanjian, promosi replika, dan pengalihan pelanggan. Ia tidak mudah, tetapi ia pepejal untuk kebanyakan persekitaran pengeluaran.
Atas ialah kandungan terperinci Apa yang berlaku jika nod induk gagal dalam kluster redis?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

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

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

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

Redisusesrdbsnapshotsandaofloggingfordatapersistence.rdbprovididesfast, periodicbackupswithpotentialialyaloss, whileoofoffersdetailedloggingforpreciserecoverbutmayimpactperformance.bothmethodscanbeuseStimaldateStimaldateStimaldateStimaldateStimaldateStimaldateStimaldateStimaldateStimaldateStimaldateStimaldateStimaldateStimaldateStimaldateStimaldateStimaldateStimaldateStimaldateStimaldateStimaldateStimaldateStimaldateStimaldateStimaldateStimaldateStimaldateStimaldateStimaldata

Redisexcelsinreal-timeanalytics, caching, sessionstorage, pub/submessaging, andratelimitingduetoitsin-memorynature.1) real-timeanalyticsandleaderboardsbenefitfromredis'sfastdataprocessing.2) cachingshatsdatabassdatabassdatabassdatabassdatabassdatabassdatabassdatabassdatabassdatabassdatabassdatabassdatabassdatabassdatabassdatabassdatabassdatabassdatabassdatabassdatasdatabassdatabasdata

Redisislimitedbymemoryconstraintsanddatapersistence, whileTraditionaldatabasstruglyglyglyglyWithperformanceinreal-timescenarios.1)

Shardedpub/subinredis7improvespub/subscalabilitybydistributingmessagetrafficacrossmultersmulthreads.traditionalredispub/subwaslimitedbyasingle-threadelthatcouldbecomeabottleneckunderhighload.WithshardeShighload

Redismanagesclientconnectionseficientlyingasingle-threadedmodelwithmultiplexing.first, redisbindstoport6379andlistensfortcpconnectionswithoutcreatingthreadsorprocessesperclient.Second, itusaneventlooptomonitorlclientsviait

RedisisbestssuitedforusecaseSrequiringhighperformance, real-timedataprocessing, andefficientcaching.1) Real-timeanalytics: redisenableSupdateSeverySecond.2)

RedisonLinuxrequires:1)AnymodernLinuxdistribution,2)Atleast1GBofRAM(4GB recommended),3)AnymodernCPU,and4)Around100MBdiskspaceforinstallation.Tooptimize,adjustsettingsinredis.conflikebindaddress,persistenceoptions,andmemorymanagement,andconsiderusingc

Incr dan decr adalah arahan yang digunakan dalam redis untuk meningkatkan atau mengurangkan nilai atom. 1. Perintah Incr meningkatkan nilai kunci sebanyak 1. Jika kunci tidak wujud, ia akan dibuat dan ditetapkan kepada 1. Jika ia wujud dan merupakan integer, ia akan ditingkatkan, jika tidak, ia akan mengembalikan kesilapan; 2. Perintah Decr mengurangkan nilai kunci sebanyak 1, yang sama dalam logik dan sesuai untuk senario seperti pengurusan inventori atau kawalan keseimbangan; 3. Kedua -duanya hanya sesuai untuk jenis rentetan yang boleh dihuraikan ke dalam bilangan bulat, dan jenis data mesti dipastikan betul sebelum operasi; 4. Biasanya digunakan dalam senario serentak seperti mengehadkan semasa API, pengiraan peristiwa dan pengiraan bersama dalam sistem yang diedarkan, dan boleh digabungkan dengan tamat tempoh untuk mencapai kaunter sementara menetapkan semula automatik.
