对可伸缩性感到困惑

时间:2013-03-09 14:28:13

标签: architecture scalability

根据这句话,如果我设计一个可扩展的建筑,它将在需要时扩展,无论技术如何。

Languages, libraries and frameworks don't scale. Architectures do.

并且根据wikipedia scalability page可伸缩性是关于硬件(节点和内存)。

规模意味着什么,什么时候应用程序真正可扩展?

2 个答案:

答案 0 :(得分:0)

“语言,库和框架无法扩展。架构可以。”

这是一个真实的陈述。因为,语言,库和框架应被视为架构实施的“工具”。

让我详细解释一下,在Good Architectures中,组件(如语言,框架等)可以替换或互换。例如许多开源项目实现都有不同的语言版本。

就这些体系结构的可伸缩性而言,由于这些体系结构基于语言/框架/库的通用功能集 - 这些体系结构可以很好地扩展。

请注意,系统的性能与系统的可扩展性非常不同。

答案 1 :(得分:0)

可伸缩性通常是分布式系统的一个属性,其中有多个用户(例如网站),但这不是必需的。可扩展性可能涉及硬件选项(例如,增加服务器内存或CPU功率以同时处理更多用户),但在您的情况下,我认为这个引用意味着您应该使用架构(软件架构)来开发您的软件,独立于用于构建该软件的工具(因此是语言,框架和库)。例如,使用分层架构或其他着名的软件架构开发您的软件,使应用程序可以扩展。 注意:这是我的个人意见,并非基于任何正式或科学定义。