Описание тега raft
Протокол распределенного консенсуса, разработанный для простоты понимания. Он эквивалентен Paxos по отказоустойчивости и производительности.
3
ответа
Что будет с реплицированными, но незафиксированными журналами в протоколе плота
Предположим, 3-членный плотный кластер a[master],b,c Клиент отправляет журнал a, реплицирует его на b и c, a применяет журнал к машине состояния и отвечает клиенту. Затем происходит сбой до того, как b и c имеют шанс скопировать зафиксированное сост…
08 янв '16 в 08:15
1
ответ
Репликация плота под разделом
7 участников кластера, один из которых является лидером. Лидер пытается повторить журнал (некоторые пишут) Сетевой раздел происходит. 3 и 4 члена соответственно. Лидер оказывается в меньшинстве Лидер достигает только 2 подписчиков → ошибка репликаци…
01 июн '17 в 12:37
1
ответ
Как я могу сделать атомное обновление с etcd
Я пытаюсь понять, что такое "атомарное" обновление в терминах etcd. Когда я думаю, что "атомарный", я думаю, что есть "до" и "после" (не существует во время, и если обновление не удается, оно все еще "до"). Вот пример: curl -s -XPUT http://localhost…
12 июн '15 в 17:34
2
ответа
Интегрируйте бережную реализацию распределенной системы данных (клиент, серверы) с протоколом Raft.
Итак, прежде всего, извините за мой английский. Я не носитель языка. Вопрос в том, что у меня уже есть реализация приложения Cliente-Server с распределенными данными (3 сервера) с использованием Thrift. Теперь (последняя фаза проекта) - использовать…
30 июл '17 в 01:42
2
ответа
Как я практически использую алгоритм Рафта
В документе Raft они упоминали, что все взаимодействие с клиентом происходит с лидерским узлом. Чего я не понимаю, так это того, что лидер постоянно меняется. Допустим, мой кластер находится за балансировщиком нагрузки. Как мне сообщить балансировщи…
27 дек '16 в 05:20
0
ответов
Невозможно построить реализацию LogCabin в Raft, используя scons и Protobuf 3
Я не могу собрать RAFT-реализацию LogCabin (C++), используя scons и protobuf3 в Ubuntu. Ошибки будут как usr/local/include/google/protobuf/repeated_field.h: In member function ‘int google::protobuf::RepeatedPtrField<Element>::SpaceUsedExcludin…
29 окт '17 в 20:25
2
ответа
Количество узлов плота
Узел-лидер плота отправляет записи добавления RPC всем подписчикам. Очевидно, что мы увеличиваем использование сети, когда добавляем нового подписчика, поэтому мой вопрос о том, сколько узлов мы можем добавить в кластер. В статье "Плот" и в других м…
23 фев '17 в 17:09
1
ответ
Как можно выбрать узел с полным журналом, если другой сначала станет кандидатом?
Я смотрел видео с алгоритмом Рафта по адресу https://youtu.be/vYp4LYbnnW8?t=3244, но мне не ясно одно обстоятельство. При избрании лидера на срок 4, если узел s1 транслирует RequestVote раньше, чем s3, тогда узлы s2, s4 и s5 будут голосовать за него…
09 сен '18 в 07:44
0
ответов
Плот: как я могу выполнить некоторую восстановительную работу, когда узел сломался?
Недавно я пишу распределенную систему с использованием пакета hashicorp/raft, каждый узел системы будет выполнять часть всей работы. Когда узел выходит из строя, его рабочие результаты будут потеряны, тогда мне нужно позволить другим узлам перезапус…
31 авг '16 в 02:21
1
ответ
Как безопасно удалить историю журнала в плот, когда все записи журнала узлов были зафиксированы
В последнее время я использую RAFT для построения распределенной системы, реализация простой функции - репликация записи журнала на каждый сервер для сохранения согласованности данных, поэтому мой вопрос заключается в том, как безопасно удалить журн…
17 дек '18 в 08:05
1
ответ
Что произойдет, если лидер TiDB уйдет? Как TiDB использует Raft для обеспечения безопасности и согласованности данных?
Если один узел-лидер в TiDB не работает, будут ли потеряны мои данные или будет затронут сервис? Сколько времени пройдет до тех пор, пока служба не восстановится (т.е. новый лидер будет переизбран)?
31 июл '18 в 10:56
1
ответ
Как обращаться с переупорядоченным RPC в плоту
При реализации алгоритма Рафта я обнаружил, что есть ситуация, которая, я думаю, может или не может нанести вред кластеру. Разумно предположить, что некоторые AppendEntriesRPC от Leader получены с переупорядочением (сетевая задержка или другие причи…
22 янв '19 в 14:38
0
ответов
Как плот добивается сильной согласованности, когда им не требуется fsync при каждой записи
Я понимаю базовый протокол плота и как его достичь сильной согласованности. Однако, по моему мнению, для достижения реальной согласованности вам нужно использовать fsync для каждой записи (не только для лидера, но и для последователей), поскольку, е…
03 фев '19 в 03:26
1
ответ
Как обработать сбой сбережений после совершения плота
При использовании raft после фиксации записей журнала мы должны записать данные, которые предлагаются узлом, в наше хранилище. Что делать, если один из узлов записи не удалось. скажем, диск получил плохо. должен ли узел сбоя завершать сам себя? the …
01 мар '19 в 05:34
1
ответ
На выборах лидера плота, как живой ответ лидера на RequestVote rpc от кандидата?
Я читаю плот бумаги. По запросу голосовать, Реализация получателя: 1. Ответ false, если term в некоторых ситуациях срок кандидата равен текущему сроку лидера, так как же лидер отвечает на запрос RequestVote rpc от кандидата?
15 дек '17 в 07:05
1
ответ
Consul.IO - Почему для Consul Cluster требуется как минимум кворум серверных узлов, чтобы быть активным
Я потратил немного времени на изучение Консула. Я читал о протоколе консенсуса. Я видел, что если кластер Консул хочет быть доступным, ему нужен узел кворума серверов, чтобы выбрать лидера. Интересно, что когда в консольном кластере работает менее ч…
28 дек '16 в 06:40
1
ответ
Является ли согласованный алгоритм Рафта византийским отказоустойчивым (bft) алгоритмом?
Является ли алгоритм консенсуса на плоту византийским отказоустойчивым алгоритмом? Сколько (процентов) узлов требуется для достижения соглашения / консенсуса?
06 апр '18 в 07:02
0
ответов
goraft sendSnapshotRequest use
Я просмотрел код goraft, но не знаю когда sendSnapshotRequest сработает. func (p *Peer) flush() { //debugln("peer.heartbeat.flush: ", p.Name) prevLogIndex := p.getPrevLogIndex() term := p.server.currentTerm entries, prevLogTerm := p.server.log.getEn…
13 авг '18 в 03:32
0
ответов
Neo4j Casual Clustering - серверы не могут обнаружить друг друга
Я пытался развернуть причинный кластер Neo4j (3.1), я очень внимательно прочитал Руководство по эксплуатации и попытался создать 3-ядерный кластер на моей локальной машине (используя как свежие установки, так и докер). Но когда я пытаюсь развернуть …
23 мар '17 в 09:20
1
ответ
Растут ли переменные индекса журнала и терминов журнала в кластере Raft без границ?
В кластере Raft можно считать, что каждая запись журнала имеет индекс журнала (где в порядке следования журнала эта запись) и термин журнала (в каком "термине" произошла запись; каждое избрание увеличивает этот термин). Например, Здесь квадраты пред…
14 окт '14 в 04:55