我有一个Web应用程序,它没有太多静态内容和更多动态生成的页面。让我们说我在weblogic中部署它。为什么我还需要一个Web服务器(IIS / Apache)?如果我不使用网络服务器,有什么缺点?
答案 0 :(得分:2)
Weblogic / Websphere未被调整为标准HTTP服务平台。与专用Web服务器相比,您的性能将非常低。像IIS这样的Web服务器会将静态内容缓存在内存中,从而可以非常快速地提供服务,并且系统开销很小。 Weblogic可能会在某些情况下执行此操作,但到目前为止,专用Web服务器的速度会更快。
此外,根据您的环境和需求可能存在安全隐患(例如,如果AD身份验证正在发挥作用),并且在Web平台上,与URL相关的错误处理通常会更加顺畅。在专用Web平台上,配置可读日志记录也将大大简化。然后有一个网络平台提供的功能,如主机头绑定等,但我猜你是否在服务一个简单的静态网站,你不是过分关注那些。
答案 1 :(得分:1)
mmh,如果我正确理解你的问题,你提到你的静态内容很少。 在我看来,如果你不需要任何额外的“Web服务器”功能,我会发现额外的Web服务器的使用过于复杂,而不是改进。 必须翻转Web服务器会引入更多的网络延迟,因为您需要Web服务器和应用程序服务器之间的额外连接。
如果您有许多并发请求且其中大部分都使用静态内容,则Web服务器可能很有用。 它可能对某些与安全相关的约束(您可能将您的应用程序服务器放在第二个防火墙后)很有用
根据我的经验,如果你真的不需要Web服务器,那就不要使用它,直接进入App-Server,你就可以减轻麻烦......
答案 2 :(得分:1)
您实际上根本不需要Web服务器。使用WebLogic Server进行生产,没有Web服务器来卸载静态内容是一个非常可行的选择。
将WebLogic Server用于这两个角色的最大问题是,如果存在大量静态内容,则会降低扩展WebLogic环境以处理更大客户端的能力,因为CPU /网络I / O也被用来提供静态内容。 WebLogic Server花时间提供静态内容,以及呈现动态内容。
使用Web服务器在安全性较低的网段中提供静态内容,并通过防火墙将其与WebLogic实例分离,确实具有安全优势。
引入专用Web服务器的缺点是,您需要管理另一个流程(或一组流程),并确保您的Web服务器与WebLogic Server实例一样高可用性。
我不同意Toby Meyer的说法,即Web服务器的性能要高得多(尽管它绝对值得进行比较性能测试),或者说您使用Web服务器配置错误处理的能力更加顺畅 - 使用servlet仅使用过滤器链和连接过滤器,您就可以获得WebLogic Server的一些非常强大的功能,尽管您需要编写代码。如果您使用自定义HTTP标头,您实际上可以获得更灵活,更强大的HTTP日志记录。
总结一下,我会看到不使用Web服务器的缺点: - 增加WebLogic环境的负载 - 无法将静态内容放在安全性较低的网段中,与WebLogic Server实例分开