我喜欢LWN文章"Crash-only software",我想了解有关崩溃安全和容错编程的更多信息。
令人惊讶的是,很难确保持久状态在故障情况下是一致的。在这里,我甚至不讨论分布式操作:在单个节点上也很难:如果系统崩溃,即使是正常的Berkeley DB(BDB数据存储或BDB并发数据存储)也可能有一个被破坏的数据库。不仅高级应用程序约束被破坏,如果系统崩溃,数据库可能无法正确打开。
有关崩溃安全和容错设计,方法和编程的有用资源。
如果资源集中在C ++和POSIX环境上,我将不胜感激。