Мне нравится статья LWN Программное обеспечение только для борьбы с авариями, и я хотел бы узнать больше о сбое и отказоустойчивости программирования.
Удивительно сложно гарантировать, что постоянное состояние согласовано в ситуациях сбоя. Здесь я даже не говорю о распределенных операциях: это сложно и для одного node: даже нормальный DB Berkeley (BDB Data Store или BDB Concurrent Data Store) может иметь разрушенную базу данных, если система выходит из строя. Мало того, что ограничения на уровне высокого уровня нарушены, база данных может быть не открыта правильно, если система выйдет из строя.
Каковы хорошие ресурсы, касающиеся отказоустойчивых и отказоустойчивых конструкций, подходов и программирования.
Если ресурсы будут сосредоточены на средах С++ и POSIX, я был бы признателен.