4、分布式系统架构:可扩展性策略与优化

分布式系统架构可扩展性策略与优化

分布式系统架构:可扩展性策略与优化

1. 单体架构及其局限性

在很多场景中,会广泛使用如 Java EE、Java 的 Spring 框架、Python 的 Flask 等服务器技术,这种方式通常会形成单体架构。随着应用功能不断丰富,单体架构的复杂性会不断增加,所有 API 处理程序都构建在同一个服务器代码体中,这使得快速修改和测试变得困难,并且由于所有 API 实现都在同一个应用服务中运行,执行占用空间会变得非常大。

当请求负载相对较低时,这种应用架构还能满足需求,服务有能力以一致的低延迟处理请求。但如果请求负载持续增长,由于服务的 CPU/内存容量不足以处理并发请求量,延迟就会增加,请求处理时间变长,单个服务器会不堪重负,成为瓶颈。

2. 扩展策略之“垂直扩展”

当遇到上述瓶颈时,第一种扩展策略通常是对应用服务硬件进行“垂直扩展”。例如,如果应用运行在 AWS 上,可以将服务器从一个配置为 4 个(虚拟)CPU 和 16GB 内存的 t3.xlarge 实例升级到 t3.2xlarge 实例,后者的 CPU 和内存数量翻倍。

垂直扩展操作简单,能让许多实际应用在处理更大工作负载方面取得很大进展。不过,显然硬件成本会增加,但这也是扩展的代价。然而,对于许多应用来说,无论有多少 CPU 和内存,负载最终都会增长到单个服务器节点无法承受的程度,这时就需要新的策略——“水平扩展”。

3. 扩展策略之“水平扩展”

水平扩展依赖于在架构中复制服务并在多个服务器节点上运行多个副本的能力。客户端的请求会分布到这些副本上,理论上,如果有 N 个副本和 R 个请求,每个服务器节点处理 R/N 个请求。这种简单

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值