常见的web容器与应用程序服务器区别及对比

tomcat

类型:servlet容器和HTTP web服务器

功能:实现了一些J2EE特性包括Java Servlet、JSP页面、Java EL和websocket,还有纯java的http web server.

重要组件

catalina是一个servlet容器

coyote是连接器

Jasper是tomcat JSP引擎,解析编译JSP称为servlet,运行时,可以检测JSP的改动并且重新编译它们。

Cluster用来管理大型应用,用来做LB

WAS(Wephere Application Server)

web应用程序服务器,是一个软件产品,扮演web应用程序服务器的角色,是一个软件框架和中间件,为基于Java的web应用程序服务。

was可以和众多web服务器配置使用,包括Apache HTTP服务器,Netscape企业服务器。微软IIS服务器,IBM HTTP Server。

JBoss web server

集成了apache http server,servlet引擎,LB和tomcat本地库。

Jetty web server

Java开发的web server

类型:web server 和 servlet容器

免费开源

用于Apache ActiveMQ/Alfresco/Apache Geronimo/Apache Maven/Apache Spark/Google App Engine/Eclipse/FuSE/IDempiere/Twitter‘s Streaming Api/Zimbra.

oracle weblogic Server

是一个java EE 的应用程序服务器,现在由oracle维护,是由Weblogic发展而来。

Apache http server

apache 软件基金会开发

c和xml开发

类型:web server

apache是使用最广泛的web服务器。

支持perl/python/tcl/php语言,ssl、tls,代理,URL重写,日志过滤等。

apache支持很多插件模块扩展,

支持虚拟主机,可以让一个apache部署多个web站点同时支持1W连接

反向代理(带缓存):LB(带活跃度检查)、多种负载均衡机制、容错能力(故障自动恢复)/websocket/FastCGI/SCGI/AJP和UWSGIt支持(带缓存)、动态配置

Nginx

web server,反向代理,邮件正向代理。

反向代理服务器支持TCP、UDP、HTTP、HTTPS、SMTP、POP3和IMAP协议,还有负载均衡和HTTP缓存功能。

nginx使用同步事件驱动方法来处理请求。

HTTP代理和web服务器特性

处理1W同步连接才用2.5MB内存,保持同步连接。

处理静态文件、索引文件和自动索引文件。

带缓存的反向代理

带健康检查的负载均衡。

容错

TLS/SSL

websocket和HTTP1.1

FLV和MP4流

web页面访问认证

gzip压缩和解压缩

URL重写

请求处理闲置

嵌入Perl脚本

邮箱代理特性

TLS、SSL支持

STARTTLS支持

SMTP、POP3和IMAP代理

外部HTTP服务器认证

Haproxy

C语言开发,免费、开源,提供高可用负载均衡和TCP/HTTP代理。

性能:配备了双核心的Opteron或Xeon处理器的服务器通常达到每秒点击15000到40000之间,并且有麻烦饱和Linux下2 Gbit / sec的连接。

IHS(IBM Http Server)

是web服务器,基于APache服务器实现的,支持IBM的WAS应用程序服务器集成。用来做负载均衡。

区别

JBoss Web和 Tomcat的区别

在Web2.0的时代,基于Tomcat内核的JBoss在J2EE应用服务器领域已成为发展最为迅速的应用服务器。这一青出于蓝而胜于蓝的产品与Tomcat的区别又在哪里?现在达内培训就为你简述一下这个问题。基于Tomcat内核,青胜于蓝Tomcat服务器是一个免费的开放源代码的Web应用服务器,技术先进、性能稳定,而且免费,因而深受Java爱好者的喜爱并得到了部分软件开发商的认可。其运行时占用的系统资源小,扩展性好,且支持负载平衡与邮件服务等开发应用系统常用的功能。作为一个小型的轻量级应用服务器,Tomcat在中小型系统和并发访问用户不是很多的场合下被普遍使用,成为目前比较流行的Web应用服务器。而JBossWeb采用业界最优的开源JavaWeb引擎,将Java社区中下载量最大,用户数最多,标准支持最完备的Tomcat内核作为其Servlet容器引擎,并加以审核和调优。单纯的Tomcat性能有限,在很多地方表现有欠缺,如活动连接支持、静态内容、大文件和HTTPS等。除了性能问题,Tomcat的另一大缺点是它是一个受限的集成平台,仅能运行Java应用程序。企业在使用时Tomcat,往往还需同时部署ApacheWebServer以与之整合。此配置较为繁琐,且不能保证性能的优越性。JBoss在Tomcat的基础上,对其进行本地化,将Tomcat以内嵌的方式集成到JBoss中。JBossWeb通过使用APR和Tomcat本地技术的混合模型来解决Tomcat的诸多不足。混合技术模型从最新的操作系统技术里提供了最好的线程和事件处理。结果,JBossWeb达到了可扩展性,性能参数匹配甚至超越了本地ApacheHTTP服务器或者IIS。譬如JBossWeb能够提供数据库连接池服务,不仅支持JSP等Java技术,同时还支持其他Web技术的集成,譬如PHP、.NET两大阵营。标准化是减小技术依赖风险,保护投资最好的方式。JBossWeb率先支持全系列JEEWeb标准,从根本上保证了应用“一次开发,到处运行”的特点,使应用成品能方便地在JBossWeb和其他JavaWeb服务器之间轻易迁移。集多功能于一身,性能卓越作为Web应用服务器中的明星产品,JBossWeb服务器集多种功能于一身。其关键功能包括:完全支持JavaEE、高度的扩展性、快速的静态内容处理、群集、OpenSSL、URL重写和综合性。JBossWeb服务器具有原生特性和强大的可扩展性,可支持多种并非基于Java的服务器内容处理技术,可同时运行JSP,Servlet,Microsoft.NET,PHP及CGI,为其提供一个单一的、高性能的企业级部署平台。与Tomcat相比,JBossWeb在静态资源访问方面性能优越。JBossWeb支持两种组件模式——纯Java和NativeI/O。在Native组件的支持下,动态运行不会受到任何影响,而静态资源的访问利用了操作系统本身提供的0拷贝传送,CPU消耗降低,响应时间缩短,吞吐率大大提高,混合的连接模式支持最大达到10000个并发客户端的同时访问,与ApacheWeb服务器相当。部署于高性能的操作系统,可利用JBossWeb对纯Java和NativeI/O两种模式的支持,使得应用在开发时可随时跨平台敏捷迁移,而部署于高性能的操作系统相关的Native环境。由于JBossWeb较好地解决了静态资源的访问性能问题,可在解决方案中把它直接作为强大的LVS的分发对象,和RHEL负载均衡系统结合,形成理论上无限线性扩展的负载均衡场景。OpenSSL是业界最为快速和安全的开源传输组件,可借助操作系统和硬件的特性实现高效的安全承载。JBossWeb集成了OpenSSL,可提供高效的安全传输服务,使得安全机制更上台阶。研究表明,JBossWeb中的SSL性能比单纯的Tomcat快四倍。URL重写功能可缩短URL,隐藏实际路径提高安全性,易于用户记忆和键入,及被搜索引擎收录。Tomcat不具备URL重写功能,JBossWeb则可提供一个灵活的URLrewriting操作引擎,支持无限个规则数和规则条件。URL可被重写以支持遗留的URL错误处理,或应对服务器不时产生的其他问题。JBossWeb既可单独运行,也可无缝嵌入JBoss应用服务器,成为JBoss中间件平台的一部分。不仅后台服务调用的性能将得以提升,也可利用以下JBoss平台的特性提升Web应用功能:基于JGroups的多种集群方案的支持基于Arjuna技术的JTA和JTS的事务处理支持优化的线程池和连接池的支持基于JMX控制台的基本管理支持和JBossOn的高级管理维护支持基于JBossAOP技术的面向方面架构的支持Hibernate服务组件的支持专业团队支持业界大多数开源产品在技术方面富于创新性,但在可持续性,产品生命周期规划,以及质量保证方面缺乏有效保障,为软件集成商和最终用户所诟病。红帽所力行的“专业化开源技术”则完美解决了这一问题。来自开源社区的JBossWeb,在红帽专业化开源的锤炼下,在性能、扩展性、稳定性、安全性等方面,已成为一个达到企业级,甚至电信级标准的优秀产品。红帽不仅有专职的技术团队投入JBossWeb的开发,而且具备专门的QA团队为产品作质量保证。完善的集成测试和兼容性测试保证了JBossWeb自身的稳定性,并保证了它的后向兼容和其他JBoss产品协作良好的互操作性。在服务体系保障方面,JBoss开拓了以产品专家提供的专家级支持服务作为开源软件强大后盾的软件生态模式。公司以及庞大的JBoss授权服务合作伙伴网络可为包括JBossWeb在内的整个JEMS产品套件提供全面的支持服务。与Tomcat相比,JBossWeb可提供迁移服务与现场专家服务,在迁移服务方面,专家指导应用可从Tomcat向JBossWeb迁移,省时省力。独特的服务订阅模式,全力保障软件生命周期,让企业高枕无忧。北京达内培训总结:JBossWeb借着Web2.0的东风,成为为解决服务器端的基础架构提出了更高的稳定性和可扩展性的要求的重要解决方案,在市场占有率和服务满意度上取得了巨大的成功,丝毫不逊色于其它的非开源竞争对手。

时间: 08-27

常见的web容器与应用程序服务器区别及对比的相关文章

Node.js 没有Web容器

Node.js 特点 1.单线程 在Java.PHP或者.net等服务器端语言中,会为每一个客户端连接创建一个新的线程.而每个线程需要耗费大约2MB内存.也就是说,理论上,一个8GB内存的服务器可以同时连接的最大用户数为4000个左右.要让Web应用程序支持更多的用户,就需要增加服务器的数量,而Web应用程序的硬件成本当然就上升了. Node.js不为每个客户连接创建一个新的线程,而仅仅使用一个线程.当有用户连接了,就触发一个内部事件,通过非阻塞I/O.事件驱动机制,让Node.js程序宏观上也

有关服务器,web 服务器,WEB容器的一点总结

所谓的服务器,广义上讲有很多的概念,硬件角度上说就是一台高性能的Computer.我们通常指的服务 器其实应该是装有能够处理具体请求事务的服务器软件的Computer.比如最常见的www服务器.mail服务 器.计费服务器.ftp服务器等等.很多时候人们常把诸如Tomcat.IIS.Weblogic 也称之为web服务器, 这对初学者很容易造成混淆,其实这些只是用于开发.集成.部署和管理Web应用.网络应用和数据库应 用的应用服务器软件. 那么web容器有该如何理解呢?通俗的讲web容器就是能够

几种常见的Web服务器

Apache与Tomcat的区别 ,几种常见的web/应用服务器 APACHE是一个web服务器环境程序 启用他可以作为web服务器使用 不过只支持静态网页 如(asp,php,cgi,jsp)等动态网页的就不行 如果要在APACHE环境下运行jsp 的话就需要一个解释器来执行jsp网页 而这个jsp解释器就是TOMCAT, 为什么还要JDK呢?因为jsp需要连接数据库的话 就要jdk来提供连接数据库的驱程,所以要运行jsp的web服务器平台就需要APACHE+TOMCAT+JDK 整合的好处是

目前常见的Web服务器

首先介绍Web服务器是什么 Web服务器一般指网站服务器,是指驻留于因特网上某种类型计算机的程序,可以向浏览器等Web客户端提供文档,我们可以放置网站文件,让全世界浏览:可以放置数据文件,让全世界下载 常见的Web服务器有哪些 Apache(http://httpd.apache.org/): Apache仍然是世界上用得最多的Web服务器,市场占有率60%左右,模块非常丰富,系统非常稳定,可移植性好,但比较耗资源. Lighttpd(http://www.lighttpd.net/): Lig

大开测试:性能-如何实现对Web应用程序服务器资源监控(连载25)

7.25  如何实现对Web应用程序服务器资源监控 1.问题提出 如何实现对Web应用程序服务器资源监控? 2.问题解答 可以使用LoadRunner的Web应用程序服务器资源监控器,在场景或会话步骤运行期间监控Web应用程序服务器,并隔离应用程序服务器性能瓶颈. Web应用程序服务器资源监控器提供了场景或会话步骤执行过程中,有关Ariba.ATG Dynamo.BroadVision.ColdFusion.Fujitsu INTERSTAGE.iPlanet (NAS).Microsoft A

容器和应用程序:扩展、重构或重建?

技术领域是不断变化的,因此,任何应用程序都可能在很短时间内面临过时甚至淘汰,更新换代的速度之快给人的感觉越来越强烈,我们如何使传统应用程序保持活力不落伍?工程师想的可能是从头开始重建传统应用程序,这与公司的业务目标和产品时间表通常是相悖的.如果现阶段正在运行的应用程序是正常工作的,这时候你很难找到正当而充分的理由让技术人员花六个月重写应用程序.代码债似乎注定意味着失败. 众所周知,产品开发向来都不是非黑即白那么简单,必须要权衡各方妥协折衷进行,虽然完全重写的可行性不大,但应用程序现代化的长远利益

JavaWeb02_servlet和web容器

JavaWeb02_servlet和web容器 OSI参考模型 应用层.表示层.会话层(TCP/IP:应用层--即程序,http层)传输层(TCP/IP:传输层--TCP/UDP协议)网络层(TCP/IP:网络层--IP,封装)数据链路层.物理层(TCP/IP:物理层--最底层,网络接口,以太网,ATM,令牌环等) 客户端 主动 创建一个socket();连接到指定计算机端口 connect();写入信息到socket() send();socket()关闭 服务器 被动 创建一个socket(

web容器与servlet容器

1. web容器好比   电视机 servlet容器好比   VCD 没有VCD你可以看电视,对吧,但是有了VCD没有电视机,你从哪看起?:) 没有servlet容器,你也可以用web容器直接访问静态页面,比如安装一个apache等,但是如果要显示jsp/servlet,你就要安装一个  servlet容器了,但是光有servlet容器是不够的,因为它要被解析成html输出,所以你仍需要一个web容器. 大多数servlet容器同时提供了web容器的功能,也就是说大多servelt可以独立运行你

apacheFtpServer集成spring由web容器控制启动和关闭

ApacheFtpServer是一个100%纯Java实现的FTP服务器,基于网络框架apache MINA实现,可支撑多并发用户.FtpServer可以独立运行作为一个Windows服务或Unix/Linux守护进程,或嵌入到Java应用程序,提供对内部集成spring应用程序支持.下面介绍apacheFtpServer与spring集成,交由spring控制ApacheFtpServer的启动与关闭. 1.      初始化创建MyFtpServer: import java.io.File