Making decisions before ...

10.12.25

Form of award

денежная

Product status

MVP

Task type

Задачи ИКТ

Сфера применения

Media sphere

Область задачи

IT

Type of product

Mobile app

Problem description

CAP‑теорема для распределённых хранилищ утверждает, что в условиях возможных сетевых разделений невозможно одновременно гарантировать и строгую согласованность, и полную доступность. В случае разрыва связи между узлами приходится выбирать: либо блокировать операции ради консистентности, либо продолжать принимать запросы ценой временных расхождений. Требование заказчика не допускает ни того, ни другого, то есть выходит за пределы доказуемо достижимого. Результат Фишера–Линч–Патерсона показывает, что в полностью асинхронной системе с возможностью отказа хотя бы одного узла не существует детерминированного алгоритма консенсуса, который одновременно гарантирует безопасность и живучесть. Иначе говоря, при неблагоприятном расписании сообщений алгоритм может бесконечно "колебаться", не достигая решения. Требование заказчика по сути предписывает невозможное: обеспечить гарантированное и быстрое принятие решения во всех возможных сценариях работы сети.

Expected effect

Задача "сделать так, чтобы при любых сбоях и разделениях сети глобальное хранилище оставалось и строго консистентным, и всегда доступным, и при этом укладывалось в жёсткий предел по задержке" теоретически не имеет общего решения. Реальные системы вынуждены выбирать компромисс: жертвовать частью доступности, ослаблять модель консистентности или отказываться от глобального консенсуса в пользу локальных решений.

Full name of responsible person

Сергеев И.А.

Purpose and description of task (project)

Заказчик обслуживает глобальный сервис с пользователями в разных регионах. Инфраструктура — несколько дата‑центров и кластер баз данных, на которые опираются мобильные приложения. Жёсткое требование: любая запись (например, списание средств или изменение критически важного статуса) должна подтверждаться за ≤50 мс **с любой точки мира**, при этом: • данные всегда строго согласованы (последовательные чтения видят один общий порядок операций); • система всегда доступна (нет ошибок вида «попробуйте позже»); • отказ отдельного узла или сетевое разделение не должны приводить к остановке. Такой набор требований напрямую сталкивается с известными ограничениями CAP‑теоремы и результатами FLP.