常见的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的东风,成为为解决服务器端的基础架构提出了更高的稳定性和可扩展性的要求的重要解决方案,在市场占有率和服务满意度上取得了巨大的成功,丝毫不逊色于其它的非开源竞争对手。