3

非常感谢你提前。

首先,我认为可扩展性是设计一个系统的能力,当其服务的需求(无论它们是什么)显着增加时,它不会改变。您可能需要更多硬件(垂直或水平0?好吧,在您闲暇时添加它,因为系统已准备好并且旨在应对它。

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

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

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

  • 提供内存缓存?
  • 能够跨多台机器运行(在 Web 服务器级别)并使用许多复制数据库?但是,使这成为可能的软件是什么?
  • ETC...

请不要将答案与背后的任何特定编程语言或技术联系起来。

再次感谢,

D.

4

2 回答 2

2

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

将 Twitter 之类的微帖子服务与大学网站或 GoogleDocs 之类的网络服务进行比较,您会发现完全不同的要求。

于 2012-08-12T09:43:15.663 回答
0

首先,可扩展性的常见概念是,如果添加更多硬件资源(CPU、内存、带宽等),软件能够提高吞吐量或容量。
在增加资源方面没有改进的软件是不可扩展的。
脱离定义,我认为您的问题与您计划引入实施的框架的评估有关,这可能会影响您的软件的扩展能力。
恕我直言,在引入框架时评估的最重要因素是查看其中是否存在隐藏的序列化(效果中的序列化传输到/影响您的软件)
因此,如果您引入一个框架,该框架在您的应用程序中引入序列化可能会影响您的能力规模化。
如何评价?

  1. 仔细的源代码检查(如果开源)
  2. 构建框架的人是否提供任何性能保证?
  3. 自己做测量,看看引入这个框架如何影响你的表现,如果不满意就更换
于 2012-08-12T09:51:06.407 回答