真正的缩放是什么?

ACP*_*ACP 14 scalability

我听说人们说他们已经制作了一个可扩展的网络应用程序..

  1. 真正的缩放是什么?

  2. 开发人员可以做些什么来使他们的应用程序可扩展?

  3. 开发人员在扩展过程中需要考虑哪些因素?

  4. 有关使用asp.net和sql server扩展Web应用程序的任何提示和技巧...

cle*_*tus 24

真正的缩放是什么?

扩展是应用程序的容量和/或使用量的增加.

开发人员如何使他们的应用程序可扩展?

允许其应用程序垂直或水平缩放.

横向缩放是指并行处理.

垂直缩放是关于更快地做事.这通常意味着更强大的硬件.

通常当人们谈论水平可伸缩性时,理想的是具有(接近)线性可伸缩性.这意味着,如果一个$ 5k的生产盒可以处理2,000个并发用户,那么再添加4个用户应该可以处理10,000个并发用户.越接近这个数字就越好.

高度可扩展的应用程序的理想选择是具有接近无限的近线性水平可扩展性,这样您就可以插入另一个盒子,并且您的容量会增加预期的数量,而收益很少或没有减少.

理想情况下,冗余也是等式的一部分,但这通常是一个单独的问题.

这种可扩展性的典型代表是Google.

开发人员在扩展过程中需要考虑哪些因素?

  • 应该计划多少规模?花费时间和金钱来解决你永远不会遇到的问题是没有意义的.
  • 垂直伸缩是否可能和/或经济?这是首选方案,因为它通常更便宜(在短期内);
  • 使应用程序水平扩展是否值得(通常很重要)成本?分布式/多线程应用程序是显著更加困难和昂贵的书写.

有关扩展Web应用程序的任何提示和技巧......

是:

  1. 不要担心你永远不会遇到的问题;
  2. 不要担心你不太可能遇到的问题.在你拥有它们之前很久就会发生变化;
  3. 不要害怕丢弃代码并重新开始.自动化测试使这更容易; 和
  4. 考虑到开发人员时间昂贵.

(4)是关键点.您可能有一个写得不好的应用程序,需要20,000美元的硬件来基本修复.如今,20,000美元购买了大量电源(64 + GB RAM,4个四核CPU等),可能超过99%的人需要.这样做或者花费6个月重写和调试新应用程序以使其更快,是否更便宜?

这很容易成为第一选择.

所以我会在我的列表中添加另一个项目:务实.