Failover
* 主从转移,主要出现在分布式环境下 SQL Cluster 和 NoSQL Cluster 中的节点进行复制的情境中,
Failover 保证了当主库节点崩溃时从库节点可以接管主库负责的内容
Failfast
* 尽可能早的发现系统中的错误,并快速的抛出异常,在 Java 的线程不安全集合类中 Failfast 机制通过
modCount 和 expectedCount 来保证迭代器的并发安全性,在 Python 中 zip 函数中 Failfast 机制
机制通过对比两个迭代器的长度来保证,zip 函数的正确性
* 如何避免 Failfast ?
使用响应的 Failsafe 机制,如将不安全的集合类通过 Collections 工具类转为线程安全的集合
或使用相应的安全平替类,对 zip 函数来说使用 zip_longest
Failback
* 失败恢复,主要体现在负载均很中,以 Nginx 为例,当奔溃的节点恢复时系统可以恢复到崩溃前的状态
Failsafe
* 与 Failfast 相对于,当系统检测出错误时会自动对错误进行修正会减少错误造成的伤害