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

Векторные часы

Vector Clock

Отслеживают частичный причинный порядок событий между узлами.

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

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

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

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

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

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

Использовать решение без учета его условий применимости и компромиссов.

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

Сопоставить проблему, контекст и ограничения с назначением концепции.

Ограничения

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

Источник

Friedemann Mattern. Virtual Time and Global States of Distributed Systems. 1988.

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