当阅读有关框架(.net.ruby on rails,django,spring等)时,我一直在看,所以这样做或不能很好地扩展.
当有人说框架"很好地扩展"并且说框架"不能很好地扩展"意味着什么时,它意味着什么?
谢谢.
当您针对并发用户绘制一些资源使用(内存,时间,磁盘空间,网络带宽)时,您将获得一个描述应用程序如何在不同比例因子下工作的函数.
小规模 - 少数用户 - 使用一些资源.
大规模 - 大量用户 - 使用大量资源.
关键问题是"缩放有多接近线性?" 如果它线性扩展,那么为2,000个并发用户提供服务的成本是服务1,000个用户的2倍,是服务500个用户的4倍.这是一个可以很好地扩展的工具/框架/语言/平台/ os.这是可预测的,预测是线性的.
如果它不能线性扩展,那么为4,000名用户提供服务的成本是服务2,000名用户的1,000倍,而服务500名用户需要花费100倍.这不能很好地扩展.随着使用量的增加,出了点问题; 它似乎不可预测,也不是线性的.
这意味着特定框架确实(或不)满足更多用户对其提出的增长需求.例如,如果你有一个用VBScript编写的应用程序,它可能无法很好地处理Facebook的40,000,000个用户.
这篇博客文章解释了Twitter大约一年前所经历的一些可扩展性问题.它可以为您的问题提供更多洞察力.
有时缺乏可伸缩性来诋毁语言或框架,因此请注意这一点.坚持显示真实指标的研究.这也适用于我在上一段中的VBScript示例.