假设任何错误的可能, 并作容错处理. 在一个分布式系统中, 出现局部和临时错误是大概率事件. 错误可能来自于物理系统故障, 外部系统故障也可能来自于系统自身, 因此要设计对任何可能错误的容错处理....每个模块都可以在出错后自动恢复: 每个模块都要有自我修复的能力, 保证不会因为连接不到其他模块而自我崩溃.
每个模块都可以在必要时优雅地降级服务....而在K8S中, 是通过命名空间namespace来提供隔离. 而我们也往往通过namespace来拆分应用: 一个namespace就是一个系统, 1个deployment就是一个系统的应用....底层出故障:不清楚该系统, 该服务, 该节点是否不可用; 启动了之后, 不清楚该系统, 该服务, 该节点是否恢复正常.
而在K8S中, 关于应用可用性监控....在发生故障时, 首先可以通过查看PV状态, 知道存储故障的范围. 通过查看PVC状态, 知道存储故障对服务的影响范围.