Skip to content
Snippets Groups Projects

doc: extend clustering.md

Merged Yaroslav Dynnikov requested to merge doc-clustering into master
All threads resolved!
+ 7
10
# Общая схема инициализации кластера
Данный раздел содержит описание архитектуры Picodata, а конкретно —
Данный раздел содержит описание архитектуры Picodata, а именно —
высокоуровневый процесс инициализации кластера на основе нескольких
отдельно запущенных экземпляров (инстансов) Picodata.
@@ -146,16 +146,13 @@ Raft-группы.
Логика функции `postjoin()` одинакова для всех инстансов. К этому
моменту для инстанса уже инициализированы корректные пространства
хранения в БД и могут быть накоплены записи в журнале Raft. Инстанс
инициализирует узел Raft, который начинает взаимодействовать с
Raft-группой. В случае, если других кандидатов нет, инстанс тут же
избирает себя лидером группы.
хранения в БД и могут быть накоплены записи в журнале Raft.
Функция `postjoin()` выполняет следующие действия:
- Инициализирует HTTP сервер в соответствии с параметром `--http-listen`.
- Инициализирует HTTP-сервер в соответствии с параметром `--http-listen`.
- Запускает Lua скрипт, указанный в аргументе `--script`.
- Запускает Lua-скрипт, указанный в аргументе `--script`.
- Инициализирует узел Raft, который начинает взаимодействовать с
Raft-группой.
@@ -170,8 +167,7 @@ Raft-группой. В случае, если других кандидатов
настройку необходимых подсистем (репликации, шардинга, и т.д.). Для
этого лидеру отправляется запрос на обновление `target_grade` текущего
инстанса до уровня `Online`, после чего за дальнейшие действия будет
отвечать специальный поток управления [topology
governor](#Topology-governor), также называемый `governor_loop`.
отвечать специальный поток управления [topology governor](#Topology-governor).
Как только запись с обновленным грейдом будет зафиксирована в Raft, узел
готов к использованию.
@@ -205,7 +201,8 @@ governor](#Topology-governor), также называемый `governor_loop`.
### rpc::join
Значительная часть всей логики по управлению топологией содержится в обработчике запроса `rpc::join`.
Значительная часть всей логики по управлению топологией содержится в
обработчике запроса `rpc::join`.
Аргументом для нее является следующая структура:
Loading