2012-03-06 33 views
40

我听到很多人交替使用这两个术语。然而,在我看来,它们之间的区别:可伸缩性和弹性有什么区别?

可扩展性 - 以提高其当前的硬件资源的工作量(规模达)系统的能力;

弹性 - 增加的工作量在其电流和附加的(按需动态地添加)的硬件资源(向外扩展)的系统的能力;

弹性与部署在云上的应用程序密切相关。

我有没有区别这两个非功能性软件特性的权利? 可能有人给出了具体的例子,所以我们可以在这两个术语之间画出更加鲜明的边界?

回答

19

通常,当有人说平台或架构比例尺时,它们表示硬件成本随需求线性增加。例如,如果一台服务器可以处理50个用户,2台服务器可以处理100个用户,10台服务器可以处理500个用户。如果每获得1,000个用户,您需要的服务器数量是2x,那么可以说您的设计的规模并不是,因为随着用户数的增长,您的资金将快速耗尽。

弹性用于描述您的架构如何能够实时地将调整为工作负载。例如,如果您每个小时都有一个用户登录到您的网站,那么您确实只需要一台服务器即可处理此问题。但是,如果突然间有50,000名用户立即登录,您的体系结构能否快速(并可能自动)提供新的Web服务器来处理此负载?如果是这样,可以说你的设计是弹性

+0

可伸缩性是通过添加额外的资源或通过添加额外的资源在工作负荷增大的情况下,执行比以前更好在工作负荷增大的情况下,如之前执行? – 2016-01-10 10:17:43

35

可扩展性是系统通过增加资源(使硬件更强大(扩大)或添加额外节点(扩展))来适应更大负载的能力。

弹性是指能够适应动态负载所需的资源,通常与扩展相关。因此,当负载增加时,通过添加更多资源来扩展,当需求减少时,缩减并移除不需要的资源。 弹性在云环境中非常重要,您可以按使用付费并且不希望为您目前不需要的资源支付费用,另一方面需要满足不断增长的需求。

+0

“可扩展性和弹性”是多余的吗?没有可扩展性,东西可以是有弹性的吗? – 2015-09-14 21:24:29

+2

某些东西可以具有有限的可伸缩性并且具有弹性,但通常来说弹性意味着利用可伸缩性并动态添加移除资源。 – 2015-09-15 07:10:15

+0

如果通过添加额外资源或者在工作负载通过增加额外资源而增加的情况下执行得更好,工作负载增加的情况下可伸缩性如前所述执行? – 2016-01-10 10:16:57

19

_

可扩展性: “增加” 的能力,以满足 “增加” 的工作量。

弹性:“增加或减少”满足“增加或减少”工作量的能力。


可扩展性:在缩放环境,可用资源可能超过满足“未来需求”。

弹性:在弹性环境中,可用资源尽可能与“当前需求”相匹配。


伸缩性:伸缩性适应仅在“增量”的方式“工作量增加”被“配置”的资源。

弹性:弹性以“自主”方式通过“供应和取消供应”资源适应“工作量增加”和“工作量减少”。


可扩展性:增加工作量送达增加一台计算机资源的功率或由一组计算机资源的增加功率。

弹性:变化的工作负载是随着计算机资源使用的动态变化而提供的。


可扩展性:可扩展性使企业能够满足与“长期战略需求”服务的预期需求。

弹性:弹性使公司能够满足“短期,战术需求”对服务需求的意外变化。


可扩展性:它是“增加”的能力,以满足那里的工作量越来越大的环境。

这种可扩展性可能是“扩展”或“扩展”。

(实施例:

向上扩展 - 增加个体服务器

向外扩展的能力 - 通过添加多个服务器中的各个服务器增加的能力。)

弹性:它是能够“放大或缩小”任意服务的能力。


可扩展性:要使用一个比喻,“扩大”是一个单独增加她的力量,以满足不断增长的需求,而“向外扩展”正在建立一个团队,以满足不断增长的需求。

弹性:使用一个明喻,电影演员增加或减少她的体重,以满足电影业的不同需求。

_

0

弹性相关的服务或应用程序及其变化,但可扩展性的短期需求支持长期需求。

0

从我有限的这些概念的理解,一个例子:

说我们有5台计算机,做5个工作单位,如果我们需要一个更多的工作单位做我们,我们将不得不使用一个系统多一台电脑。这是一个可扩展的系统,但它不具有弹性。有人不得不去拿另一台电脑。另外,如果购买新计算机并且不再需要额外的工作单元,则系统会陷入冗余资源。

现在,让我们说的不是它自己的电脑,这是适合它的需求的云服务,同样的系统使用。理想情况下,当工作负载达到一个工作单位时,云将为系统提供另一个“计算单元”,当工作负载回落时,云将优雅地停止提供该计算单元。这是一个系统既可扩展又有弹性的情况。