解释水平缩放的正确方法是什么?

What is the right way to interpret horizontal sclaing?

当我有一个服务器(比如 S)时,水平扩展是否意味着:

添加许多这样的服务器(每个服务器都做同样的工作):S1、S2、S3...,然后让所有对我们服务的请求都到达服务器 S,然后在服务器 S1 之间分发它们, S2, S3...

这个解释正确吗?如果是,那么每个 Web 服务都可以被认为是可扩展的吗?因为我们总是可以添加更多的服务器并尝试分配工作。

给定顶部的平衡器和服务器 S,水平可伸缩性意味着您将 S 乘以 S1、S2、S3、S4,并向平衡器应用某种“策略”以在服务器之间移动流量。

我做过的一个(生产中的真实世界)示例是创建一个虚拟机,安装 nginx 作为平衡器,设置为使用循环法(最容易配置和“思考”),配置一些机器并安装在他们为我服务(在我的情况下 docker)。

注意:如果您要求(RAM,CPU,磁盘space)让您在一台机器(S1、S2 等)中安装多个服务实例,请执行此操作, 这样您就可以处理更多流量

如果你有 kubernetes,这可以通过设置给定 pod 的实例数量来解决,但你不会被迫在小型设置中使用 kubernetes(例如 10 台机器或 10 个 S 实例)

供参考: