我听说很多人将两个术语互换使用。但是,我认为它们之间是有区别的:
可伸缩性-软件系统能够在不中断应用程序服务的情况下,在其当前硬件资源(按比例放大)或当前和其他硬件资源(按比例缩小)上处理大量工作负载的能力;
flex -下面的硬件层(通常是云基础结构)增加或缩小由该硬件层提供给上面的软件层的物理资源的能力。增加/减少是由预先定义的业务规则触发的(通常与应用程序的需求有关)。增加/减少是在不中断物理服务的情况下进行的。
同样,可伸缩性是软件体系结构的特征,与工作量更多相关,而 flex 是下面物理层的特征,而工作量则完全与硬件预算优化有关。
我对这两种非功能性的建筑特性有区别吗?
有人可以举一些具体的例子,以便我们在这两个术语之间划出更独特的边界吗?
最佳答案
可伸缩性是系统仅通过添加资源以使硬件更坚固(按比例放大)或添加其他节点(按比例缩小)即可适应更大负载的能力。
flex 是一种能力,该能力通常可以动态地适应横向扩展所需的资源。因此,当负载增加时,您可以通过添加更多资源来扩展规模,而当需求减少时,您可以收缩并删除不需要的资源。
flex 在云环境中最重要,在云环境中,您按使用情况付费,一方面不想为您当前不需要的资源付费,另一方面又希望在需要时满足不断增长的需求。
关于cloud - 可伸缩性和弹性之间有什么区别?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9587919/