Martin Kleppmann谈向下扩展与向上扩展同样困难
《数据密集型应用系统设计》作者Martin Kleppmann谈为何向下扩展与向上扩展同样具有挑战性:
“现代云服务以及后端服务的一个有趣之处在于,它们引入了水平扩展和无共享系统的概念。即使单个组件只是相当便宜的普通机器,我们也能构建出能够应对非常高负载的系统。
可扩展性不仅关乎向上扩展,也关乎向下扩展。如何以一种方式运行服务,使得在负载非常低时运行成本极其低廉?这个问题与‘如何在负载非常高时继续运行服务’其实是同一个问题。
通常,我们希望成本和计算能力与负载大致成比例,而在低端,这意味着能够将服务缩减到运行成本极低的状态。
但这并非必然。这在本地部署软件中很难实现,因为如果有一台物理机器,那就是一个部署单元。是的,你可以将其分割成二十几台虚拟机,但这仍然需要某种资源分配。
因此,一些无服务器系统的有趣之处在于它们向下扩展的能力,可以说:‘好吧,如果你每天只处理三个请求,那也没问题。’”
“现代云服务以及后端服务的一个有趣之处在于,它们引入了水平扩展和无共享系统的概念。即使单个组件只是相当便宜的普通机器,我们也能构建出能够应对非常高负载的系统。
可扩展性不仅关乎向上扩展,也关乎向下扩展。如何以一种方式运行服务,使得在负载非常低时运行成本极其低廉?这个问题与‘如何在负载非常高时继续运行服务’其实是同一个问题。
通常,我们希望成本和计算能力与负载大致成比例,而在低端,这意味着能够将服务缩减到运行成本极低的状态。
但这并非必然。这在本地部署软件中很难实现,因为如果有一台物理机器,那就是一个部署单元。是的,你可以将其分割成二十几台虚拟机,但这仍然需要某种资源分配。
因此,一些无服务器系统的有趣之处在于它们向下扩展的能力,可以说:‘好吧,如果你每天只处理三个请求,那也没问题。’”