设计原则

更新时间:

在分布式系统中,需要考虑的稳定性问题比较复杂,贯穿软件系统设计态、研发态、运维态、运行态,覆盖从IaaS、PaaS到上层SaaS系统,所有这些都可能会影响系统的稳定性。为了确保系统能够持续稳定地工作,建议遵循以下设计原则。

面向失败的架构设计原则

众所周知,系统异常事件是不可避免的,如网络延迟、硬件故障、软件错误、突峰流量等,建议在系统设计阶段就要从这些异常事件引起的系统执行“失败”出发,提供冗余、隔离、降级、弹性等能力,旨在确保系统的高可用性和高可靠性,以应对不可避免的故障和意外发生。

面向精细的运维管控原则

由于业务的扩展和系统服务进一步拆分,分布式系统的复杂度剧增。再加上产品迭代加快,版本繁多,同时某些业务对实时性有较高要求,运维的不确定性和复杂性大幅增加。建议通过精细化的管理和可观测手段,如版本控制、灰度发布、监控告警、自动巡检等手段,旨在提高运维效率、确定性和稳定性。

面向风险的应急快恢原则

在一些场景下,即使设计了各种技术手段去提高系统的冗余、保持业务的高可用,但还是避免不了生产系统故障的发生,所以需要面对故障建立一个高效的故障应急流程机制和稳定的技术平台,实现故障风险实时发现、应急团队有效协同、处理过程准确记录、故障快速止损和恢复以及后续故障复盘,旨在提高故障应急效率,减小故障影响,降低类似故障的再次发生,提升系统整体高可用性。