Quorum — distributed tizimda qaror, yozuv yoki leader saylovini qonuniy deb hisoblash uchun kerak bo‘lgan eng kam ovozlar to‘plami. Oddiy crash-fault modelida N voter uchun majority quorum odatda floor(N/2)+1 bo‘ladi. Majoritylar o‘zaro kesishgani sabab bir xil termda ikki mustaqil ko‘pchilik qarama-qarshi qarorni tasdiqlay olmaydi.
Majority va nosozlik
Uch voterli clusterga ikki ovoz kerak va u bitta voter yo‘qolishiga chidaydi. Besh voterga uch ovoz kerak va ikkitasi yo‘qolishi mumkin. To‘rt voter ham uch ovoz talab qilishi mumkin, lekin failure tolerance besh voterga qaraganda kamroq; shu sabab consensus guruhlarida ko‘pincha toq son tanlanadi.
Quorumga kirmagan minority odatda write yoki leader electionni to‘xtatadi. Bu availabilityni kamaytirsa ham split-brain va divergent historydan himoya qiladi. Network partitionda ikkala tomonni ham writable saqlash strong consistency bilan bir vaqtda mumkin emas.
Data va ovoz
Voterning ovoz berishi ma’lumot nusxasini saqlash bilan aynan bir narsa emas. Witness tie-breaker bo‘lishi mumkin, ammo data bo‘lmasa durabilityni oshirmaydi. Uch ovozdan biri witness bo‘lgan topologiyada data saqlovchi bitta tugun yo‘qolsa quorum qolishi mumkin, lekin data redundancy kamayadi.
Voterlarni mustaqil availability zone yoki failure domainlarga joylashtirish kerak. Bir rackda uch voter bo‘lsa rack nosozligi butun quorumni yo‘qotadi.
Read va write quorumlari
Quorum replication modelida N replica, W write acknowledgements va R read responses tanlanadi. R + W > N bo‘lsa read va write to‘plamlari kamida bitta nusxada kesishadi. Biroq yangi qiymatni tanlash uchun version, timestamp yoki vector metadata kerak; formula yolg‘iz conflict resolution bermaydi.
Consensus protokolidagi quorum log entryni commit qilish, termni saylash va membershipni o‘zgartirish uchun aniq qoidaga ega. Uni oddiy “replicalardan istalgan ikkitasi javob bersa bo‘ldi” bilan almashtirib bo‘lmaydi.
Membership
Node qo‘shish yoki olib tashlash ham xavfsiz transition talab qiladi. Eski configurationdan yangisiga birdan sakrash ikki alohida quorum hosil qilishi mumkin. Joint consensus yoki bosqichli reconfiguration eski va yangi voter to‘plamlarini kesishishga majbur qiladi.
Monitoring current term, leader, voter state, quorum availability va replication progressni ko‘rsatadi. Latency yuqori voter majority yo‘lini sekinlashtirishi mumkin. Quorum sonini kamaytirish vaqtincha xizmatni ochsa-da, split-brain xavfini oshiradi va faqat qat’iy recovery tartibida bajariladi.
Geografik joylashuv
Uch regionning har biriga bittadan voter qo‘yish bitta region yo‘qolganda quorumni saqlaydi, ammo har commit uzoq network round-tripni kutishi mumkin. Ikki voterni asosiy regionga, bittasini uzoqqa qo‘yish latencyga yaxshi, lekin asosiy region yo‘qolsa minority qoladi. Topologiya latency va disaster availability maqsadlari bilan tanlanadi.
Consensus voterini oddiy autoscaling group kabi tez-tez almashtirish xavfli. Yangi node logni catch-up qilgach membershipga kiritiladi, eski node keyin chiqariladi. Bir vaqtda bir nechta voter yo‘qotish expected fault limitini buzadi. Backup quorumning bir qismi emas: barcha voter noto‘g‘ri delete’ni commit qilsa consensus xatoni izchil tarqatadi, tarixni qaytarish uchun alohida recovery artifact kerak.
Byzantine fault modelida node yolg‘on yoki qarama-qarshi xabar yuborishi mumkin, shuning uchun oddiy majority formulasi yetmaydi. Crash-fault consensus bilan Byzantine consensusning voter soni va threat modeli aralashtirilmaydi.
Bog‘liq tushunchalar
Consensus, Majority vote, Leader election, Split-brain, Witness, Read quorum, Write quorum, Failure domain