可扩展系统架构与分布式系统架构概述
1. 可扩展性与成本
1.1 可扩展性示例
假设我们有一个基于Web的系统(如Web服务器和数据库),它能以1秒的平均响应时间处理100个并发请求。现在业务要求将该系统扩展到能以相同的响应时间处理1000个并发请求。在不做任何更改的情况下,对该系统进行简单的负载测试,会发现随着请求负载的增加,平均响应时间会稳步增长到10秒,显然当前的部署配置无法满足需求,即系统不可扩展。
经过一些工程努力后,系统可以在处理1000个并发请求时提供指定的响应时间,此时系统成功实现了扩展。
1.2 扩展的不同情况及成本
| 扩展情况 | 描述 | 所需努力和成本 |
|---|---|---|
| 情况1 | 数据库每秒处理1000个请求时响应变慢,需要升级到新机器 | 假设需要15小时的工作和每月1000美元的额外云成本用于更强大的服务器 |
| 情况2 | Web服务器动态生成大量内容,导致负载下响应时间减少,需修改代码以更高效地生成内容 | 介于情况1和情况4之间 |
| 情况3 | 请求负载在数据库中造成热点,需要进行架构重新设计、重新加载数据库以及更改数据访问层代码 | 介于情况1和情况4之间 |
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



