Как создать распределенную систему, которая выполняет задачу и приходит к единому мнению о результате?
Для большего контекста
У меня есть система, которая выполняет некоторые операции (проверка некоторой правды на основе локальной копии данных). Эта система не может быть централизована из-за всех недостатков централизованной системы, таких как проблема доверия, единственная точка отказа и т. Д.
Как построить распределенную систему, которая может выполнить задачу и прийти к консенсусу по результатам на основе голосования или большинства.
1 ответ
Что вам нужно, так это реализовать протокол paxos (или двухфазную фиксацию). Прежде чем вы начнете внедрять свои собственные, попробуйте альтернативу с открытым исходным кодом. Например: http://libpaxos.sourceforge.net/