Architecture 水平扩展和分布式系统之间的区别是什么?

Architecture 水平扩展和分布式系统之间的区别是什么?,architecture,system,computer-science,distributed-computing,scaling,Architecture,System,Computer Science,Distributed Computing,Scaling,我现在正在学习系统设计。我试图对此进行研究,但我唯一能找到的是关于Quora的一个解释不清的答案 1水平扩展和分布式系统之间的区别是什么 水平扩展是否意味着分布式系统?为什么 3垂直缩放也可以被视为分布式系统吗?为什么?我来这里寻找类似的答案。经过几次阅读和理解,我把我的想法写在下面: 我将尝试用一个例子来解释这一点: 假设我们有一个应用程序,它由不同的 微服务后台有3个微服务m1、m2、m3。 特别是针对特定的微服务进行水平缩放。所以如果 需要扩展的微服务m2可能是bcoz对其的需求 cate

我现在正在学习系统设计。我试图对此进行研究,但我唯一能找到的是关于Quora的一个解释不清的答案

1水平扩展和分布式系统之间的区别是什么

水平扩展是否意味着分布式系统?为什么


3垂直缩放也可以被视为分布式系统吗?为什么?

我来这里寻找类似的答案。经过几次阅读和理解,我把我的想法写在下面:

我将尝试用一个例子来解释这一点: 假设我们有一个应用程序,它由不同的 微服务后台有3个微服务m1、m2、m3。 特别是针对特定的微服务进行水平缩放。所以如果 需要扩展的微服务m2可能是bcoz对其的需求 caters增加了很多,我们可以添加更多服务器来支持m2。这边 我们已经完成了水平缩放w.r.t m2

现在每当部署在不同服务器上的两个微服务需要交互时 在网络上,分布式系统开始发挥作用。 从上述示例中,与m1相互作用的m2或与m2相互作用的m3将为 通过网络完成,因此将被视为分布式系统

负载平衡器用于支持水平扩展,API调用用于 支持分布式系统

因此,不可否认,无论是横向扩展还是分布式系统 大部分人都聚在一起

但这绝对是不正确的。 假设我们只有一个服务部署在5个不同的服务器上,它们是 使用负载平衡器进行控制。此外,没有涉及数据库,即我们 不需要存储数据,但只进行了少量计算,结果是正确的 返回

在这种情况下,不同的微服务之间不涉及交互 在不同的服务器上,尽管存在水平扩展。有5台机器 支持这项服务

所以在这种情况下,水平缩放是存在的,但它不能被称为分布式 系统

在垂直缩放中,所有组件仅在一台机器上运行。不 涉及相互交流。所以不应该考虑垂直缩放 分布式系统

我想提及的资源很少: