知识卡片
分层服务水平把成本选择权交给用户
内容
基础设施若要同时服务需求相反的客户(既要低延迟又要高吞吐),做成单一”极致可靠”版本两头 不讨好——低延迟用户希望队列永远为空,高吞吐用户却希望队列永远不空,双方的”成功”互为对方的 “失败”。更优解法是拆成多个独立服务水平(如低延迟集群与高吞吐集群),让每类需求配置对应的 冗余度,并把成本差异暴露给使用者,促使其主动选择匹配需求的档位。发散:把”成本-可靠性权衡” 转交给最了解自己需求的一线使用者。
参考来源
- 位置:《SRE:Google运维解密》第3章《拥抱风险》(源文件:_epub-src/OEBPS/Text/0008_0001.xhtml)
- 结论依据:原文以Bigtable为例,说明低延迟用户希望队列为空、离线分析用户希望队列不空,"对于这些用户而言,成功和失败是相反的",解法是"构建两个集群:低延迟集群和高吞吐量集群",高吞吐集群成本仅为低延迟集群的10%~50%,因此可推出分层暴露成本的结论。
- 原始内容:低延迟用户的成功是关注离线分析的用户的失败……我们可以构建两个集群:低延迟集群和高吞吐量集群……高吞吐量集群只有低延迟集群成本的10%~50%。