部署静态内容

时间:2010-11-15 19:26:17

标签: language-agnostic

我必须做出部署的设计决定,这是要求

  1. 有一个Web服务器和一个app-server(JBOSS 5.1)
  2. 应用程序dinamic内容应该在app server中
  3. Web服务器应包含静态内容,如html,pdf,图像等(根据客户端)
  4. 我的问题:

    • 首先,这是一个正确的方法吗?
    • 我们有一个应用服务器为什么我们需要另一个网络服务器?
    • 如果我们使用Web服务器隐藏应用服务器,为什么我们需要将静态内容放到Web服务器上?

    提前致谢

    阿米特

2 个答案:

答案 0 :(得分:2)

规模足够小,没关系。如果您的工作负载是使用内部Web服务的几十名员工,每个请求不需要大量资源,那么就可以快速部署任何内容。这可能意味着通过Web应用程序中的处理程序在单个服务器上提供静态内容。

当你开始扩大规模时,之前无关紧要的事情会变得明显。

在上述配置(由web-app处理的静态内容)上变得明显的第一件事是页面加载需要更长的时间。这是因为页面中只有一部分实际上是动态的,HTML本身,但是图像,javascript,css以及页面包含的其他任何可能性和结束也都遵循相同的生命周期。

您可以做的一件事就是在处理程序中智能地提供静态内容,以利用缓存和代理服务器,设置ExpiresETag标头,然后返回{{ 1}}在适当的时候。

但这已经是静态网络服务器了。此外,静态Web服务器可以在特定工作负载下进行更好的优化。当您真正开始扩展时,将此工作负载转移到另一台主机,以便应用服务器甚至不会看到它,这是以最低成本从Web应用程序中提取更多性能的最简单方法之一。

答案 1 :(得分:1)

是的,这是一种合适的方法。通过将静态内容放在(静态内容)Web服务器而不是应用服务器上,可以减少应用服务器上的潜在负载;动态内容的Web请求可以毫不费力地干净地传递到应用服务器。