我们通过大规模Web应用程序实际意味着什么?

时间:2016-01-08 18:11:37

标签: web-services web-applications

大型网络应用程序实际上意味着什么? 称之为大规模Web应用程序的标准是什么? 是应用程序的代码行数还是 Web应用程序每天的用户数。说每天10K?

1 个答案:

答案 0 :(得分:10)

大型网络应用程序实际上意味着什么?这取决于你问的是谁。

如果人们过去构建较小的应用程序,并且需要构建一个更大的应用程序,现在可以处理更多的数据和更多的流量,他们可能会称之为大型Web应用程序。但是,如果您将该网站与LinkedIn,Facebook或Google等网站进行比较,那么它仍将是一个小型应用程序。

人们对于大的东西有不同的概念,对某些人来说有什么大的概念对于其他人来说可能是中等大小而对另一些人来说则是小的。但是大规模的Web应用程序具有以下特征:

  • 性能,能够处理大量(数百万)用户/请求或每秒大量(数千)次交易。两者都有挑战,具体取决于应用程序的类型(CPU绑定,IO绑定或两者)。
  • 可伸缩性,横向类型,不仅在Web服务器级别,而且在数据库级别。根据你正在做的事情,RDBMS可能不再削减它,所以你必须走NoSQL路径,有时使用多个产品,因为 NoSQL 解决方案往往是处理特定用例的专用系统像RDBMS一样成为通用数据库。将异构解决方案连接在一起并使它们作为单个应用程序运行,会产生许多集成挑战
  • 大规模应用程序分布式,利用CDN或在地理位置更靠近用户的服务器上运行应用程序。您可以轻松拥有数百或数千个服务器节点,大​​型系统管理员团队必须管理设置。如果您没有自己的数据中心,则可以在云端中运行。
  • 除了大型系统管理团队之外,您经常需要一个大型开发团队来优化性能和可扩展性,设计师和前端开发人员致力于提供流畅的用户界面,提供移动支持等;
  • 必须处理大量数据以及大量数据类型。不再仅仅处理产品,客户,订单等,还包括点击,页面浏览/点击,事件,日志,客户行为跟踪等。这与之前的NoSQL点有关,但也与这些数据量相关往往有一个大的后台,提供各种报告,图表,管理工具等来管理应用程序本身。
  • 可用性 24/7;
  • 其他一些杂项关键词,如 SOA 架构,微服务数据仓库,安全性,分布式缓存,连续部署等。

这些是(我认为)大型网络规模网络应用程序的一些共同特征,重要的是要预先考虑这些方面,并在构建应用程序时应对从一开始就产生的所有挑战。< / p>