Skip to content
Snippets Groups Projects
Commit 5615ec31 authored by Alexander Tolstoy's avatar Alexander Tolstoy
Browse files

docs: sync code examples with the latest clustering.md

parent dc2e916b
No related branches found
No related tags found
1 merge request!62docs: sync code examples with the latest clustering.md
......@@ -19,7 +19,7 @@ picodata run --instance-id iN --listen iN --peer i1
инстансов — одного обычно достаточно, но для подстраховки можно взять
три. Именно на их основе будет произведена инициализация кластера и
поиск всех работающих инстансов для их включения в состав кластера
(discovery).
(discovery).
Подробности алгоритма discovery приведены в отдельном
[документе](discovery.md). В контексте сборки кластера важно лишь
......@@ -126,7 +126,7 @@ Raft-группой. В случае, если других кандидатов
Следующим шагом инстанс оповещает кластер о том, что он готов проходить
настройку необходимых подсистем (репликации, шардинга, и т.д.). Для
этого лидеру отправляется запрос на обновление `target_grade` текущего
инстанса до уровн `Online`, после чего за дальнейшие действия будет
инстанса до уровня `Online`, после чего за дальнейшие действия будет
отвечать специальный поток управления [topology
governor](#Topology-governor), также называемый `governor_loop`.
......@@ -143,7 +143,7 @@ governor](#Topology-governor), также называемый `governor_loop`.
структура:
```rust
struct JoinRequest {
struct join::Request {
cluster_id: String,
instance_id: Option<String>,
replicaset_id: Option<String>,
......@@ -157,14 +157,14 @@ struct JoinRequest {
```rust
struct JoinResponse {
/// Добавленный пир (чтобы знать все ID)
peer: Peer,
instance: Instance,
/// Голосующие узлы (чтобы добавляемый инстанс мог наладить контакт)
raft_group: Vec<Peer>,
peer_addresses: Vec<PeerAddress>,
/// Настройки репликации (чтобы инициализировать репликацию)
box_replication: Vec<String>,
}
struct Peer {
struct Instance {
// всевозможные идентификаторы
raft_id: RaftId,
instance_id: String,
......@@ -189,7 +189,7 @@ struct Peer {
Цель такого запроса сводится к добавлению нового инстанса в Raft-группу.
Для этого алгоритма справедливы следующие тезисы:
- `JoinRequest` отправляет всегда неинициализированный инстанс.
- `join::Request` отправляет всегда неинициализированный инстанс.
- В зависимости от того, содержится ли в запросе `instance_id`,
проводится анализ его корректности (уникальности).
- В процессе обработки запроса в Raft-журнал добавляется запись
......@@ -264,7 +264,7 @@ Raft-журнале")
`on_shutdown` отправляет лидеру запрос `UpdatePeerRequest {
target_grade: Offline }`, обработкой которого займется вышеупомянутый
`governor_loop`. После этого инстанс пытается дождаться применения
записи о смене своего `current_grade` на `Offline` (о том почему так
записи о смене своего `current_grade` на `Offline` (о том, почему так
произойдет см. ниже).
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment