常见的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的东风,成为为解决服务器端的基础架构提出了更高的稳定性和可扩展性的要求的重要解决方案,在市场占有率和服务满意度上取得了巨大的成功,丝毫不逊色于其它的非开源竞争对手。
常见的web容器与应用程序服务器区别及对比的更多相关文章
- WEB服务器、应用程序服务器区别
WEB服务器.应用程序服务器.HTTP服务器有何区别?IIS.Apache.Tomcat.Weblogic.WebSphere都各属于哪种服务器,这些问题困惑了很久,今天终于梳理清楚了: Web服务器 ...
- Tomcat Jboss Glassfish 三种常见web容器比较
一.缘由: 新公司平台是纯Java架构,有用到Java Web(JSP).Java 业务(EJB).Nginx..Websphere MQ.Mysql这样.大家知道java是跑在容器里的, 这里的业务 ...
- 为什么要有 Servlet ,什么是 Servlet 容器,什么是 Web 容器?
本文已收录至 https://github.com/yessimida/yes ,这里有我的所有文章分类汇总,欢迎 star! 以下代码相信大家都很熟悉,大学时学 Java Web 都写过这样的代码. ...
- JSP之WEB服务器:Apache与Tomcat的区别 ,几种常见的web/应用服务器
注意:此为2009年的blog,注意时效性(针对常见服务器) APACHE是一个web服务器环境程序 启用他可以作为web服务器使用 不过只支持静态网页 如(asp,php,cgi,jsp)等 ...
- Web程序和应用程序服务器[转]
转自:http://hi.baidu.com/lclkathy/blog/item/dae3be36763a47370b55a970.html 一 常见的WEB服务器和应用服务器 在UNIX和LINU ...
- 一文看懂web服务器、应用服务器、web容器、反向代理服务器区别与联系
我们知道,不同肤色的人外貌差别很大,而双胞胎的辨识很难.有意思的是Web服务器/Web容器/Web应用程序服务器/反向代理有点像四胞胎,在网络上经常一起出现.本文将带读者对这四个相似概念如何区分. 1 ...
- Web服务器、应用服务器、Web容器、反向代理服务器区别与联系
作者: 帅虫哥 出处:www.cnblogs.com/vipyoumay/p/7455431.html(点击尾部阅读原文前往) 我们知道,不同肤色的人外貌差别很大,而双胞胎的辨识很难.有意思的是Web ...
- bootstrap 栅格系统 HTTP协议 软件架构 B/S C/S 常见的WEB服务器
Day32 bootstrap Bootstrap就是响应式布局最成功的实现,为了兼容不同的浏览器采用jQuery,为了适配不同的终端采用CSS3 Media Query (媒体查询) 1.1.1 栅 ...
- web容器 web服务器 servlet/jsp容器 之间的区别和关系
今天学习tomcat时发现一篇写的比较好的文章,故分享给大家 Web服务器(软件): Apache http server, 这个它的网址,http://httpd.apache.org/downlo ...
随机推荐
- #ifndef _LED_H #endif啥意思?
#ifndef _LED_H#ifndef _LED_H ...... ...... #endif 避免重复引用头文件的内容.
- Memcached在windows下安装与使用
建议:windows系统下仅为测试所有,生产环境下服务端应使用Linux系统. 本文最后更新于:2014-08-03 18:24 原文:http://www.yaosansi.com/post/mem ...
- 数据库SQL基本操作
1.查询表结构 desc 表名 2.显示当前连接用户 show user 3.查看系统拥有哪些用户 select * from all_users; 4.查询当前用户下所有对象 select * fr ...
- 不要让catalogs搞死你的eclipse
不要让catalogs搞死你的eclipse 楼主终于走出校园,踏上软件职场之路.新人要学的东西有很多,要战胜的东西很多,这些东西除了技术本身,还有对未知领域的恐惧,新接触技术,比如新的框架,可能好几 ...
- BZOJ1588: [HNOI2002]营业额统计[BST]
1588: [HNOI2002]营业额统计 Time Limit: 5 Sec Memory Limit: 162 MBSubmit: 14151 Solved: 5366[Submit][Sta ...
- Struts2文件上传和文件下载
一.单个文件上传 文件上传需要两个jar包: 首先制作一个简单的页面,用于实现文件上传 <h1>单个文件上传</h1> <s:form action="uplo ...
- u3d_Shader_effects笔记6 第四章 使用cubeMap简单的反射读取
一:前面心情: 1.今天开了个小会,该看的继续要看,不要堕落. 2.还有就是丽的生活习惯不太好.慢慢改变. 3.哎,公司人员争夺吗?哎,不知道,不了解,不去想,提升自己,内心明净 二.主要内容和参考 ...
- 嵌入式Linux驱动学习之路(十九)触摸屏驱动、tslib测试
触摸屏使用流程: 1. 按下产生中断. 2.在中断处理程序中启动AD转换XY坐标. 3.AD转换结束并产生AD中断. 4. 在AD的中断处理函数中上报信息,启动定时器. 5. 定时器时间到后进入中断, ...
- angular学习笔记(二十九)-$q服务
angular中的$q是用来处理异步的(主要当然是http交互啦~). $q采用的是promise式的异步编程.什么是promise异步编程呢? 异步编程最重要的核心就是回调,因为有回调函数,所以才构 ...
- Python list
序列是Python中最基本的数据结构.序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推. Python有6个序列的内置类型,但最常见的是列表和元组. 序列 ...