From 3ab4e355e2906bb5e349ba6ec6db301fd6987037 Mon Sep 17 00:00:00 2001 From: Yaroslav Dynnikov <yaroslav.dynnikov@gmail.com> Date: Fri, 5 Aug 2022 14:05:51 +0300 Subject: [PATCH] doc: fixup clustering.md --- docs/clustering.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/clustering.md b/docs/clustering.md index 0e9a547feb..abaf2a3001 100644 --- a/docs/clustering.md +++ b/docs/clustering.md @@ -13,7 +13,7 @@ picodata run --instance-id iN --listen iN --peer i1 ÐезавиÑимо от количеÑтва запуÑкаемых инÑтанÑов, в опции `--peer` у каждого из них Ñледует указать один и тот же набор из неÑкольких инÑтанÑов - одного обычно доÑтаточно, но Ð´Ð»Ñ Ð¿Ð¾Ð´Ñтраховки можно взÑÑ‚ÑŒ три. Именно на их оÑнове будет произведена Ð¸Ð½Ð¸Ñ†Ð¸Ð°Ð»Ð¸Ð·Ð°Ñ†Ð¸Ñ ÐºÐ»Ð°Ñтера и поиÑк вÑех работающих инÑтанÑов Ð´Ð»Ñ Ð¸Ñ… Ð²ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ð² ÑоÑтав клаÑтера (discovery). -ПодробноÑти алгоритма discovery приведены в отдельном [документе](discover.md). Ð’ контекÑте Ñборки клаÑтера важно лишь понимать, что Ñтот алгоритм позволÑет не более чем одному инÑтанÑу (peer'у) Ñоздать Raft-группу, Ñ‚.е. Ñтать инÑтанÑом Ñ raft_id=1. ЕÑли таких инÑтанÑов будет неÑколько, то и Raft-групп, а Ñледовательно и клаÑтеров Picodata получитÑÑ Ð½ÐµÑколько. +ПодробноÑти алгоритма discovery приведены в отдельном [документе](discovery.md). Ð’ контекÑте Ñборки клаÑтера важно лишь понимать, что Ñтот алгоритм позволÑет не более чем одному инÑтанÑу (peer'у) Ñоздать Raft-группу, Ñ‚.е. Ñтать инÑтанÑом Ñ raft_id=1. ЕÑли таких инÑтанÑов будет неÑколько, то и Raft-групп, а Ñледовательно и клаÑтеров Picodata получитÑÑ Ð½ÐµÑколько. Топологией Raft-группы управлÑет алгоритм Raft, реализованный в виде крейта `raft-rs`. @@ -128,10 +128,10 @@ struct Peer { Поток предÑтавлÑет Ñобой беÑконечный цикл. Ðа каждой итерации выполнÑетÑÑ Ð¿Ñ€Ð¾Ð²ÐµÑ€ÐºÐ°, что ÑоÑтав `voters` / `learners` ÑоответÑтвует ÑоÑтоÑнию инÑтанÑов, и при необходимоÑти Ñти Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¿Ð°Ñ‡ÐºÐ¾Ð¹ запиÑываютÑÑ Ð² Raft-журнал: - ИнÑтанÑÑ‹ в ÑтатуÑе `health: Loading` довавлÑÑŽÑ‚ÑÑ ÐºÐ°Ðº неголоÑующие. -- ЕÑли еÑÑ‚ÑŒ возможноÑÑ‚ÑŒ, `Offline` инÑтанÑÑ‹ передают право голоÑа другим `Online`. +- ЕÑли еÑÑ‚ÑŒ возможноÑÑ‚ÑŒ, `Offline` инÑтанÑÑ‹ передают право голоÑа другим `Online`. [TODO](## "Ð¡ÐµÐ¹Ñ‡Ð°Ñ offline инÑÑ‚Ð°Ð½Ñ Ð´ÐµÐ¼Ð¾ÑƒÑ‚Ð¸Ñ‚ÑÑ Ð±ÐµÐ·ÑƒÑловно, даже еÑли других онлайн кандидатов нет. Ðе надо так делать.") - ЕÑли общее количеÑтво голоÑующих инÑтанÑов оказываетÑÑ Ð¼ÐµÐ½ÑŒÑˆÐµ целевого, `Online` инÑтанÑÑ‹ получают право голоÑа. -КоличеÑтво голоÑующих узлов в клаÑтере не наÑтраиваетÑÑ Ð¸ завиÑит только от общего количеÑтва инÑтанÑов. ЕÑли инÑтанÑов 1 или 2, то голоÑующий узел один. ЕÑли инÑтанÑов 3 или 4, то таких узлов три. Ð”Ð»Ñ ÐºÐ»Ð°Ñтера Ñ 5 или более инÑтанÑами — пÑÑ‚ÑŒ голоÑующих узлов. +КоличеÑтво голоÑующих узлов в клаÑтере не наÑтраиваетÑÑ Ð¸ завиÑит только от общего количеÑтва инÑтанÑов. ЕÑли инÑтанÑов 1 или 2, то голоÑующий узел один. [TODO](## "Ð¡ÐµÐ¹Ñ‡Ð°Ñ Ð² клаÑтере из 2 инÑтанÑов оба делаютÑÑ Ð³Ð¾Ð»Ð¾Ñующими. Ðадо проработать аргументацию и решить как правильно."). ЕÑли инÑтанÑов 3 или 4, то таких узлов три. Ð”Ð»Ñ ÐºÐ»Ð°Ñтера Ñ 5 или более инÑтанÑами — пÑÑ‚ÑŒ голоÑующих узлов. # Graceful shutdown -- GitLab