Как создать распределенную систему, выполняющую задачу и приходящую к единому результату?

Для большего контекста-

У меня есть система, которая выполняет какую-то операцию (проверка некоторой правды на основе локальной копии данных). Эта система не может быть централизована из-за всех недостатков централизованной системы, таких как проблема доверия, единая точка отказа и т. д.

Как построить распределенную систему, способную выполнять задачу и приходить к консенсусу по результату на основе голосования или большинства.


person Sarvesh Jain    schedule 18.07.2018    source источник


Ответы (1)


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

person nsuneja    schedule 06.09.2018