【问题标题】:Is distributed systems same as horizontal scaling?分布式系统是否与水平扩展相同?
【发布时间】:2020-11-11 14:38:35
【问题描述】:

水平扩展是使用负载平衡器将负载分配到多个物理/虚拟机。分布式系统也一样。

问题水平扩展是否与分布式系统相同?

【问题讨论】:

  • 分布式系统有很多种类型,master/workers是一种可能的类型。
  • master / worker 是 docker/kubernetes 也使用的东西。但这也是多个节点,听起来像是水平缩放的。

标签: architecture distributed-computing scaling distributed-system system-design


【解决方案1】:

分布式系统不是水平扩展的。

分布式系统架构是在不同的机器/地方拥有不同的组件,使它们通过网络进行通信。 这涉及特定的设计,因为您不能完全依赖通信(速度、错误、可用性)。分布式事务也是一个主要问题。

通过水平缩放,您可以在不同的地方实例化和执行相同的组件(但通常不远,因此它们共享数据库或缓存)。该组件管理整个事务,而不与其他事务进行通信。

一种常见的架构是“横向扩展”分布式系统的不同组件,以提高整个系统的可用性;)

【讨论】:

  • 基本上,您是想说分布式系统遵循水平扩展架构,但通信是通过网络进行的。 (类似于部署到多个可用区的应用程序)而水平扩展可以是多个系统共享负载,可能安装在同一个数据中心。因此,没有通过网络通信。我的理解正确吗?
  • No ;) 通过水平扩展,您可以在 X 时间部署相同的组件,并在前面进行负载平衡。使用分布式系统,您可以远程部署不同的组件,并且它们必须相互通信。
【解决方案2】:

任何计算机系统都需要完成两项基本任务:

  1. 存储和
  2. 计算

分布式编程是解决相同问题的艺术 您可以使用多台计算机在一台计算机上求解 - 通常, 因为问题不再适合单台计算机。

http://book.mixu.net/distsys/intro.html 是分布式系统的轻量级介绍。

【讨论】:

    【解决方案3】:

    Horizo​​ntal Scaling 是一个更通用的术语,用于使用大量节点来增加某些参数(带宽、性能等)。例如,一个处理器中的多个内核,一个数据中心中的多个服务器。

    分布式系统是水平扩展的特定应用:使用计算机网络连接节点。网络引入了延迟、非常难以同步的时钟和网络分区。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-11-25
      • 1970-01-01
      • 2018-06-21
      • 2011-08-12
      • 1970-01-01
      • 1970-01-01
      • 2011-09-11
      • 2011-08-05
      相关资源
      最近更新 更多