可靠性 可以理解为即使出现问题，系统也能正确工作。造成系统出现问题的原因叫 故障，系统这种可以预料并处理 故障 的特性称为 韧性。
Everybody has an intuitive idea of what it means for something to be reliable or unreliable. For software, typical expectations include:
- The application performs the function that the user expected.
- It can tolerate the user making mistakes or using the software in unexpected ways.
- Its performance is good enough for the required use case, under the expected load and data volume.
- The system prevents any unauthorized access and abuse.
If all those things together mean “working correctly,” then we can understand reliability as meaning, roughly, “continuing to work correctly, even when things go wrong.”
Martin Kleppmann, Designing Data-Intensive Applications, n.d. p6 ↩︎