稳定性-从稳定性架构说起

稳定性-稳定性架构

分布式系统稳定性架构模式

这里我们不探讨某个具体系统的稳定性架构,我们先来认识一下稳定性架构,通过这个概念拉齐我们探讨稳定性治理的开展模式.

在一个微服务架构组成的分布式系统中,一个稳定性保障的目标对象(这个对象的颗粒度可以稍后再定义)在东西向通常有上游(调用来源方)和下游(调用依赖方),于此同时,在南北向上通常也有上游(App/小程序/IoT)和下游(数据库/中间件/大数据等),这样一个类似围棋棋子结构中,稳定性不仅和自身有关、还和上下游有关.

这个 Service 对象非常类似围棋棋子, 棋子的"气"决定了棋子是否可以继续存活, Service 对象的稳定性一方面由自身决定,但同时还由周围四个方向的关联对象所决定.因此,稳定性架构需要有开放的视野,才能够穷尽所有可能影响稳定性的要素,不断提升对风险的认知,这是稳定性治理最基础的第一步.

这里最后我需要填一下前面挖的一个坑,稳定性保障对象的颗粒度如何确定. 我们知道一个微服务、多个微服务组成的应用、多个应用组成的业务系统都可以称之为稳定性保障对象,不同粒度的架构模式相同,在执行过程中不断由大到小,最终无法继续拆下去为止.

稳定性架构的水位评估

稳定性架构是一个持续评估和持续治理的过程,稳定性架构的水位评估原则将直接影响治理目标和最终效果.经过多年的实践,这里推荐一个经过多次迭代的评估模型:

  1. 变更影响对象数量,即稳定性保障对象变更时影响到的变更对象数量,影响数量越多故障事件波及范围越大
  2. 变更影响对象的类型和等级,即影响对象中多少重点对象,重点对象越多说明变更故障事件严重程度越高
  3. 变更三板斧成熟度,即变更的过程可否监控、灰度、快恢,当前对象和关联对象变更可否小步试错、可否观测变更对系统的影响
  4. 故障应急成熟度,即自身和关联对象的所有变更场景的故障是否能够快速恢复,具体来说,有预案优于无预案,自动化优于手动操作,有演练优于无演练这三个原则排序
  5. 变更事件订阅和风险防御机制成熟度,即当前对象对于依赖的下游对象的变更事件可否及时感知, 对自身的变更是否建立了变更前、变更中(主要是灰度)和变更后的风险防控平台化能力.

未完待续, 20250103

相关推荐
AI成长日志2 小时前
【Vibe Coding专栏】easy-vibe与vibe-vibe对比分析:两大vibecode项目技术架构、适用场景与选型指南
架构·ai编程
殷紫川2 小时前
全链路压测硬核实战:从方案落地、瓶颈根因定位到全链路性能优化
架构·测试
殷紫川2 小时前
别等业务中断才补坑!RTO/RPO 核心逻辑与全场景灾备架构选型全攻略
数据库·架构
殷紫川2 小时前
从 0 到 1 落地异地多活:单元化、数据同步与流量调度的核心壁垒全击穿
微服务·架构
殷紫川2 小时前
秒杀系统高并发核心优化与落地全指南
算法·架构
const_qiu3 小时前
微服务测试项目架构设计与实践
微服务·云原生·架构
奕成则成3 小时前
面试被问:MySQL 与 Doris/SelectDB 的架构区别。 大数据为什么禁止select *。
mysql·面试·架构
1104.北光c°4 小时前
深入浅出 Elasticsearch:从搜索框到精准排序的架构实战
java·开发语言·elasticsearch·缓存·架构·全文检索·es
SmartBrain4 小时前
Spring Boot的高性能技术栈的工程实践
spring boot·后端·架构
Predestination王瀞潞4 小时前
5.4.3 通信->WWW万维网内容访问标准(W3C):WWW(World Wide Web) 协议架构(分层)
前端·网络·网络协议·架构·www