Frameworks 基于web的框架具有什么可伸缩性?

Frameworks 基于web的框架具有什么可伸缩性?,frameworks,scalability,Frameworks,Scalability,事先非常感谢你 首先,我认为可伸缩性是指设计一个系统的能力,该系统在其服务需求(无论是什么)显著增加时不会发生变化。您可能需要更多的硬件(垂直或水平)0?好的,在您空闲时添加,因为系统已经准备好,并且已经设计好应对它 我的问题问起来很简单,但回答起来可能很复杂。我想知道我在一个框架中看到了什么,以确保它能够相应地扩展,无论是在点击数还是同时运行的会话数方面 这个问题根本不是关于技术或特定的框架,而是一个理论问题 我知道这在很大程度上取决于有一个好的数据库设计和一个适当的硬件来支持复制等等。让我们

事先非常感谢你

首先,我认为可伸缩性是指设计一个系统的能力,该系统在其服务需求(无论是什么)显著增加时不会发生变化。您可能需要更多的硬件(垂直或水平)0?好的,在您空闲时添加,因为系统已经准备好,并且已经设计好应对它

我的问题问起来很简单,但回答起来可能很复杂。我想知道我在一个框架中看到了什么,以确保它能够相应地扩展,无论是在点击数还是同时运行的会话数方面

这个问题根本不是关于技术或特定的框架,而是一个理论问题

我知道这在很大程度上取决于有一个好的数据库设计和一个适当的硬件来支持复制等等。让我们假设这一切都存在,但是我的框架必须满足一些标准,什么

  • 提供memcache
  • 能够跨多台机器(在web服务器级别)运行并使用多个复制的数据库?但软件中有什么使这成为可能
  • 等等
请不要将答案与任何特定的编程语言或背后的技术联系起来

再次感谢


D.

我认为可伸缩性最主要取决于用例:您是否希望获得大量数据,那么您应该关注数据库,如果是关于流量,关注服务器,是关于添加新功能,关注您的数据模型和您正在使用的框架


将微博客服务(如Twitter)与大学网站或网络服务(如GoogleDocs)进行比较,你会发现有着截然不同的要求。

首先,可伸缩性的共同概念是,如果增加更多硬件资源(CPU、内存、带宽等),软件能够提高吞吐量或容量。
在增加资源方面没有改进的软件是不可扩展的。
除了定义之外,我认为您的问题与您计划在实现中引入的框架的评估有关,这些框架可能会影响软件的扩展能力。
在引入框架时,最重要的评估因素是查看其中是否存在隐藏的序列化(效果中的序列化会转移到/影响您的软件)
因此,如果您在应用程序中引入了一个引入序列化的框架,这可能会影响您的扩展能力。
如何评估

  • 仔细检查源代码(如果是开源的)
  • 那些制造产品的公司是否提供任何性能保证 框架
  • 自己做一些测量,看看如何引入这个框架 影响您的性能,如果不满意,请更换

  • 良好的可扩展性更多地是应用程序设计的属性,而不是任何框架或编程语言的属性。它完全取决于网站的总体架构,然后是部署代码所依赖的固有硬件。在我的一个项目的初始阶段,我从多种语言评估了web框架-参数包括性能、可伸缩性、设计、学习曲线、可扩展性、灵活性、可维护性。我得出的结论是,大多数现代基于web的框架或多或少都非常适合伸缩。我很高兴这里的一个问题与我的观点相呼应——谢谢。这与我的观点不同,它更倾向于技术s、 这是一个一般性的问题。一个基于框架的web应用程序意味着一个框架对可伸缩性有一些看法。我们正在将我们的开发外包给一家拥有内部框架的公司,因此我提出了一个问题。这个问题属于感谢。这是一个非常好的问题。但是,考虑到我们的开发将在内部框架之上,这可能是我的弱点,这就是为什么我将问题导向框架可以做什么来帮助可伸缩性。谢谢。请问序列化是什么意思?类似于将对象从客户端发送到服务器(例如Java)?AFAIR,我们将使用JSON发送数据。@user1593139:不,我的意思是串行操作而不是并发操作。因此,您的应用程序从一个高度并发的多线程变成了串行操作。哦,我明白了,这是一个web,因此web服务器本质上会使这些操作并发进行。我的意思是,我们没有任何必须通过mu在后台完成的任务多线程,因为它非常长,会导致数百个请求排队。@user1593139:某些数据库锁定可能会导致多个请求需要串行处理。@LieRyan:总会有一些地方需要按顺序处理。不同之处在于粒度级别和处理的最佳程度