SYSTEM ATLASЗагрузка материала

FLP-невозможность

FLP Impossibility

В полностью асинхронной системе консенсус нельзя гарантировать при одном отказе.

Простыми словами

В полностью асинхронной сети невозможно надёжно отличить умерший узел от узла, который просто очень долго молчит. Из-за этого детерминированный консенсус при возможном отказе может ждать бесконечно. Практические системы выходят из этой ловушки дополнительными предположениями - например, тайм-аутами, частичной синхронностью или случайностью.

Механизм действия

Сначала проверяют, есть ли исходное условие из определения. Затем смотрят, как оно влияет на структуру компонентов, потоки данных, ограничения и действия участников. Если эту связь не удаётся наблюдать, принцип не стоит использовать как готовое объяснение.

Пример в работе

Нерабочий подход

Решение принимают без учета механизма «FLP-невозможность», оценивая только ближайший эффект.

Системный подход

Перед изменением проверяют, как «FLP-невозможность» влияет на ограничения, стимулы, зависимости и вторичные последствия.

Ограничения

«FLP-невозможность» объясняет только часть происходящего в области «Распределенные системы». Сам принцип не говорит, насколько сильным будет эффект в вашем случае, и не заменяет измерения. При другом масштабе, среде или временном горизонте результат может отличаться.

Источник

Fischer, Lynch, Paterson, 1985.

Первоисточник