可伸缩VS可扩展



我不确定这里是否允许这种类型的问题,但它与软件项目有关。

可伸缩和可扩展之间有区别吗?

是可扩展的子集吗?即可伸缩的

有些人认为相同,有些人认为不同。有什么不同?

我被引导去相信:

可扩展-使系统承受更多的使用(带宽等…)并把它放大。

可扩展-为系统添加更多功能。

它们不一样吗?

编辑:如果可扩展是为系统增加更多的功能,而可扩展可以被认为是使系统更大,这在理论上是不一样的,证明可扩展只是可扩展的子集吗?

我的母语不是英语,但我认为这是有区别的。

如果某物是可扩展的,这意味着它可以适应增长。这并没有说明它是如何采用的(也就是说,要么已经很好地适应了,它可以接受更多的请求,或者通过添加更多相同类型的资源,或者通过轻松地更改组件)。

维基百科说:

它是一种扩大以适应[某种]增长的能力。

理论上,它也可以指"缩小规模",但从it的角度来看,这通常不是那么有趣。

你提出

:

可扩展-为系统添加更多功能。

可能,但不一定。它可能也指增加更多的容量,以达到与以前相同的目的。

我想说:

可伸缩性意味着系统能够适应增长。即系统在增长

可扩展性意味着您能够(轻松地)向系统添加某些内容。也就是说,一些新的东西被附加到系统中,而这些东西不一定是与增长相关的。

同意观察家的观点。再添加几个例子:

可扩展性

:

  1. 你的软件支持新功能、接口、设备、输入类型等的"钩子"有多容易?
  2. 这也可能是指你的软件支持新服务的容易程度,而对现有代码和客户端的干扰最小。例如,向现有web服务添加一个新端点可以被视为可扩展性的一个维度。

:

  1. 你的软件如何轻松地处理不断增长的用户群/额外的数据等。示例:如果您的用户群将来会增长,或者您决定为每个实体保存额外的数据,那么您的数据库是否可伸缩?你的软件是否可以随着用户群的增长而扩展?
  2. 当谈到可扩展性时,我们也开始谈论水平和垂直可扩展性,这两个主要是指系统是否可以在相同的基础设施/实例/部署上扩展(垂直可扩展性),或者我们需要添加一些"对等体"来能够承受更多的负载(水平可扩展性)。

最新更新