Распределённый протокол нельзя покрыть юнит-тестами, но можно проверить модельно
Исправление распределённых багов после деплоя обходится дорого. Модельная проверка позволяет найти их до написания хотя бы одной строчки кода реализации. Вот как это сделать с помощью TLA+.