Я понимаю, что детекторы отказов в асинхронных системах в основном классифицируются как (в конечном счете) совершенные/(в конечном итоге) сильные и как определяются эти классы, но я изо всех сил пытаюсь понять, что за этим стоит.
Предположим, у меня есть конкретная реализация детектора сбоев, который периодически прослушивает сообщения heartbeat от каждого процесса. Если процесс какое-то время не отправлял свое контрольное сообщение, этот процесс будет добавлен в список подозрительных до тех пор, пока от процесса не будет получено сообщение.
Теперь, как мне узнать, какой класс является этой реализацией FD? Потребуется ли для этого формальное доказательство свойств полноты/точности FD? Если можно реализовать идеальный FD, зачем изучать другие (более слабые)? Или классы только «предполагаются» при разработке отказоустойчивых распределенных алгоритмов?
Я немного озадачен этим (как на самом деле классифицировать данный (конкретный) FD). Буду признателен за любые ответы.