知识卡片

镜像请求验证备用系统不影响生产

普通读书笔记卡 · 1453.h

内容

要确认高可用性或低依赖性的备用系统真的能在紧急时刻顶上,最有说服力的证据是让它接住真实流量,但直接切流量风险太高。折中做法是镜像请求——把同一请求同时发给大容量组件和备用组件,响应仍以大容量组件为准,只把两边结果拿去对比差异,差异超出预期阈值才报警。这样既能拿到备用系统在真实负载下的第一手表现数据,又不让用户承担备用系统可能出错的风险,是”验证关键路径”和”不影响生产”这对矛盾的务实解法。

参考来源

- 位置:《Google系统架构解密:构建安全可靠的系统》第8章《弹性设计》8.6.2节(源文件:`../OREILY动物书合辑 图灵新版/_epub-src/text/part0014_split_075.html`) - 结论依据:原文说明高可用性系统通过镜像请求验证——客户端发送两个相同请求分别到大容量组件和高可用性组件,比较响应内容并上报差异,客户端默认使用大容量系统的响应,除非出现错误,这样既验证了备用系统又不影响真实用户。 - 原始内容:高可用性系统(或低依赖性系统)通过镜像请求进行验证,客户端发送两个相同的请求,一个发送到大容量组件,另一个发送到高可用性组件……然后比较响应的内容并上报差异。当响应差异超过预期水平时,监控服务会发出告警。