开发者社区> luminji> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

WebServer Vs ApplicationServer

简介: 出现过几次被客户要求既有项目为什么不能单独部署WebServer和ApplicationServer的问题,他们用的例子无非就是Apache+Tomcat,他们称之为前面为WebServer,后面为ApplicationServer,问我们的IIS为什么不能这样部署。
+关注继续查看

出现过几次被客户要求既有项目为什么不能单独部署WebServer和ApplicationServer的问题,他们用的例子无非就是Apache+Tomcat,他们称之为前面为WebServer,后面为ApplicationServer,问我们的IIS为什么不能这样部署。现说明如下:

 

首先,webserver和applicationserver的概念是出现在分布式系统中的,它们的具体责任如下:

         webserver:负责处理客户端请求,然后远程调用applicationserver上的服务。

         Applicationserver:公开服务给webserver。

 

但我们往往对webserver和applicationserver存在一些误解,很多人对两者的分类依赖于程序的宿主。以JAVA平台为例,不少人会将Apache所在的服务器称作webserver,而将Tomcat\Jboos\Websphere\Weblogic所在的服务器称之为applicationserver。

大部分的应用程序或者网站,都没有复杂到可以称之为分布式应用程序。在很多架构中,Tomcat\Jboos\Websphere\Weblogic仅仅作为可以解析java代码的一个平台(虽然它可以部署在不同的服务器上)。在这种情况下,我们也不能将这个平台称之为applicationserver,而应该称之为webserver的一个httpmodule(物理机之间的转发也应该这样去理解)。

同理,在微软平台下,对于C#代码(asp.net)的解析,已经作为一个默认的httpmodule集成在IIS(5.5及以后版本)中了,一般我们也不将它们物理分割开,所以造成的假象是微软平台下仿佛没有webserver和applicationserver之分。实际的情况是,如果应用系统本身不是一个分布式架构,想要区分webserver和applicationserver就是一个错误的概念。如果一定要把请求和httpmodule物理分割,类似apache+tomcat,那么在微软平台下,也可以是:

Apache+IIS

当然,还有其它的选择,如:

Varnish+IIS

甚至是:

IIS+IIS

即,前者是一个代理服务器,后台加一个动态内容解析服务器(httpmodule)。代理服务器的作用是负责转发http请求,静态内容缓存等,动态内容解析服务器的作用如其名字:解析程序脚本,加载动态内容。

 

EL不是一个分布式系统,所以,经过上面的解释,我们知道,它不存在什么webserver和applicationserver,某某指明,业界中的普遍做法为:

将HTTP服务器放置在外网或DMZ,AP和DB都需要在内网。

更为准确的描述应该为:

对于非分布式系统,如EL系统,可以将代理服务器放置在DMZ区,IIS和DB放置在内网。

对于分布式系统,将HTTP服务器放置在外网或DMZ,AP和DB都需要在内网。

 

         所以,对于EL系统,我们当前的选择是:需要一个代理服务器吗?一般我们选择代理服务器的理由是:

         1:负载均衡;

         2:静态内容缓存;

         按照某某的说法,仿佛这种方法还出于安全的考虑,即:采用代理服务器后,安全提升了。之所以出现这种误解:是因为往往代理服务器和动态内容解析服务器之间可以加一层防火墙。而实际的情况是,防火墙也可以加在代理服务器和动态内容解析服务器之前,所以说,代理服务器和动态内容解析服务器并不能带来本质上的安全提升。

Creative Commons License本文基于Creative Commons Attribution 2.5 China Mainland License发布,欢迎转载,演绎或用于商业目的,但是必须保留本文的署名http://www.cnblogs.com/luminji(包含链接)。如您有任何疑问或者授权方面的协商,请给我留言。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
使用Java程序通过http post访问Application server
使用Java程序通过http post访问Application server
49 0
使用Java程序通过http post访问Application server
使用Java程序通过http post访问Application server
33 0
如何在SAP Cloud Application Studio里创建Web Service
如何在SAP Cloud Application Studio里创建Web Service
23 0
Server Error in '/虚拟目录名称' application②
Server Error in '/虚拟目录名称' application 提示:Unable to make the session state request to the session state server.
892 0
webserver/CGI
来自:http://blog.sina.com.cn/s/blog_466c6640010000nj.html   1. TUX2. lighttpd,thttpd,shttpd 3. 几种web server表现的对比4. 我的总结   TUX  http://www.chinadesign.com.cn/NewsContents1.asp?id=3386   tux是一种有GPL(GNU General Public License )许可的基于内核的Web服务器。
1348 0
Webservice中使用Session、Application
原文:Webservice中使用Session、Application 在Asp.Net 2.0里,已经能够在WebMethod里使用 Session 、 Application 这种服务器变量了。一、Session     [WebMethod(EnableSession = true)] ...
836 0
FRM-92101:forms Server在启动过程中失败
在rhel5 x64上完成ebs R12.1.1的基础安装,本地浏览器访问测试的时候,出现如下问题: 根据错误提示,找到日志产看原因,日志目录:$LOG_HOME/ora/10.
1541 0
IBM WebSphere Application Server V6.1 Fix Pack 37于2011.04.04发布
IBM WebSphere Application Server V6.1 Fix Pack 37于2011.04.04发布 各个平台下载,请见: http://www.ibm.com/support/docview.wss?uid=swg24029204 详细修复列表,请见: http://www-01.ibm.com/support/docview.wss?uid=swg27007951#
870 0
+关注
luminji
微软最有价值技术专家(MVP),著有《编写高质量代码:改善C#程序的157个建议》,有着十多年的软件从业资历。
291
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载