Cluster quorum — taqsimlangan klasterda qaysi tugunlar guruhi vakolatli ravishda qaror qabul qilishi mumkinligini belgilaydigan ko‘pchilik mezoni. Uning vazifasi tarmoq bo‘linishi yoki tugun nosozligida ikki mustaqil tomon bir vaqtda o‘zini faol deb e’lon qilishi, ya’ni split-brain holatini cheklashdir.
Ko‘pchilik tamoyili
Oddiy ovoz beruvchi klasterda quorum floor(N/2)+1 ovozdan iborat. Uch tugundan ikkitasi, besh tugundan uchtasi ko‘pchilikni hosil qiladi. Uch tugunli klaster bitta ovoz yo‘qotganda ishlashni davom ettiradi, ikki tugunli klaster esa bitta tugun yo‘qolsa ko‘pchilikni topa olmaydi.
Shu sabab faqat “tugun soni” emas, ovozlar va failure domainlar muhim. Ikki data markazga teng sonli tugun joylashtirish to‘liq saytlararo uzilishda durang yaratishi mumkin. Uchinchi mustaqil joydagi witness yoki tie-breaker qaysi tomonda quorum borligini aniqlashga yordam beradi. Witness odatda to‘liq data nusxasini saqlashi shart emas, ammo uning ishonchliligi va tarmoq yo‘li hal qiluvchi bo‘ladi.
Consensus bilan aloqasi
Raft va Paxos kabi consensus algoritmlarida log yozuvi ko‘pchilik tomonidan tasdiqlangach committed hisoblanadi. Bir-biriga kesishadigan ko‘pchilik guruhlari ikki xil qiymatning bir xil log pozitsiyasida mustaqil tasdiqlanishini to‘sadi. Quorum bu algoritmlarning bir qismi, lekin uning o‘zi leader election, log ordering va state machine qoidalarining to‘liq o‘rnini bosmaydi.
Database replikatsiyasida write quorum va read quorum tushunchalari ham uchraydi. W + R > N kabi shartlar ma’lum modelda o‘qish va yozish to‘plamlarining kesishishini ta’minlaydi. Ammo bu formula consistency darajasini yakka o‘zi ifodalamaydi; conflict resolution, replication turi va failure modeli ham hisobga olinadi.
Tarmoq bo‘linishi
Partition paytida quorumga ega tomon xizmatni davom ettiradi, ozchilik tomon esa yozishni to‘xtatadi yoki faqat cheklangan rejimda ishlaydi. Bu availabilityni vaqtincha kamaytiradi, evaziga qarama-qarshi yozuvlar va ikki leader xavfini cheklaydi. Ozchilikni shunchaki qo‘lda majburan faol qilish eski tomon hali ishlayotgan bo‘lsa split-brain yaratishi mumkin.
Fencing izolyatsiya qilingan eski leaderning disk yoki umumiy resursga yozishini fizik yoki platforma darajasida to‘xtatadi. STONITH, storage reservation yoki cloud instance power-off bunga misol. Quorum qaroridan keyin fencing bajarilmasa, sekin yoki tarmoqdan uzilgan tugun ma’lumotni buzishi ehtimoli qoladi.
Ekspluatatsiya
Klaster monitoringi faqat process healthni emas, ovozlar soni, leader holati, replication lag va tarmoq latencyini kuzatadi. Maintenance uchun bir vaqtning o‘zida nechta tugunni chiqarish mumkinligi oldindan hisoblanadi. Uch tugunli klasterda bir tugun rejalashtirib o‘chirilgan paytda yana bittasi nosoz bo‘lsa quorum yo‘qoladi.
Quorum konfiguratsiyasini o‘zgartirish oddiy config edit emas. Membership consensus protokoli talab qilgan tartibda yangilanadi; aks holda eski va yangi a’zolar turlicha ko‘pchilik hisoblaydi. Data markaz uzilishi, witness yo‘qolishi, yuqori latency va eski tugunning qaytishi failure mashqlarida sinovdan o‘tkaziladi.
Juft sondagi ovoz beruvchilar ko‘pincha qo‘shimcha nosozlikka chidamlilik bermaydi: to‘rt tugunli majority klaster ham odatda faqat bittasini yo‘qotib ishlashni davom ettiradi, besh tugunli klaster esa ikkitasiga chidaydi. Shunga qaramay geografiya, performance va consensus protokoli sabab topologiya tanlovi oddiy “toq son” qoidasidan kengroqdir. Non-voting replica o‘qish yoki backup uchun xizmat qilishi mumkin, lekin quorum hisobiga qo‘shilmaydi.
Bog‘liq tushunchalar
Distributed system, Consensus, Raft, Split-brain, Leader election, Witness node, Fencing, Network partition