我听说很多人可以互换使用这两个术语。但是,在我看来,它们之间是有区别的:
可扩展性——软件系统在其当前硬件资源(纵向扩展)或当前和额外硬件资源(横向扩展)上处理更多工作负载而不中断应用程序服务的能力;
弹性——下面的硬件层(通常是云基础设施)增加或缩小该硬件层提供给上面软件层的物理资源量的能力。增加/减少由预先定义的业务规则触发(通常与应用程序的需求相关)。增加/减少在没有物理服务中断的情况下即时发生。
同样,可扩展性是软件架构的一个特征,与服务更高数量的工作负载相关,其中弹性是下面物理层的特征,完全与硬件预算优化有关。
我对这两个非功能性架构特征有区别吗?有人可以举出具体的例子,以便我们可以在这两个术语之间划出更鲜明的界限吗?