Одна из причин, по которой проблемы консенсуса важны, заключается в том, что они очень просты и являются своего рода универсальными проблемами для распределенных вычислительных систем.
Если мы можем решить консенсус в асинхронной распределенной системе, мы можем использовать его для линеаризации действий над общими объектами и получения линеаризуемости для общих объектов.
Для простоты, сколько проблем вы можете придумать, какие из них проще, чем согласиться с ценностью?
Результат невозможности достижения консенсуса в (чистых) асинхронных распределенных системах говорит нам о том, что мы не можем решить проблемы, которые хотим решить в (чистых) асинхронных распределенных системах, без каких-либо дополнительных «вещей». Это приводит к асинхронным моделям, в которых мы можем решать консенсус, например, рандомизированные алгоритмы, детекторы ошибок, модели частичной синхронизации и т. Д.
Это также является причиной того, что на практике алгоритмы, которые решают консенсус, такие как Paxos Лампорта, Chubby от Google, Apache ZooKeeper и совсем недавно Raft, являются ядром распределенных систем, где мы часто хотим реплицировать состояние среди серверов.