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容器与应用程序服务器区别及对比的更多相关文章

  1. WEB服务器、应用程序服务器区别

    WEB服务器.应用程序服务器.HTTP服务器有何区别?IIS.Apache.Tomcat.Weblogic.WebSphere都各属于哪种服务器,这些问题困惑了很久,今天终于梳理清楚了: Web服务器 ...

  2. Tomcat Jboss Glassfish 三种常见web容器比较

    一.缘由: 新公司平台是纯Java架构,有用到Java Web(JSP).Java 业务(EJB).Nginx..Websphere MQ.Mysql这样.大家知道java是跑在容器里的, 这里的业务 ...

  3. 为什么要有 Servlet ,什么是 Servlet 容器,什么是 Web 容器?

    本文已收录至 https://github.com/yessimida/yes ,这里有我的所有文章分类汇总,欢迎 star! 以下代码相信大家都很熟悉,大学时学 Java Web 都写过这样的代码. ...

  4. JSP之WEB服务器:Apache与Tomcat的区别 ,几种常见的web/应用服务器

    注意:此为2009年的blog,注意时效性(针对常见服务器)     APACHE是一个web服务器环境程序 启用他可以作为web服务器使用 不过只支持静态网页 如(asp,php,cgi,jsp)等 ...

  5. Web程序和应用程序服务器[转]

    转自:http://hi.baidu.com/lclkathy/blog/item/dae3be36763a47370b55a970.html 一 常见的WEB服务器和应用服务器 在UNIX和LINU ...

  6. 一文看懂web服务器、应用服务器、web容器、反向代理服务器区别与联系

    我们知道,不同肤色的人外貌差别很大,而双胞胎的辨识很难.有意思的是Web服务器/Web容器/Web应用程序服务器/反向代理有点像四胞胎,在网络上经常一起出现.本文将带读者对这四个相似概念如何区分. 1 ...

  7. Web服务器、应用服务器、Web容器、反向代理服务器区别与联系

    作者: 帅虫哥 出处:www.cnblogs.com/vipyoumay/p/7455431.html(点击尾部阅读原文前往) 我们知道,不同肤色的人外貌差别很大,而双胞胎的辨识很难.有意思的是Web ...

  8. bootstrap 栅格系统 HTTP协议 软件架构 B/S C/S 常见的WEB服务器

    Day32 bootstrap Bootstrap就是响应式布局最成功的实现,为了兼容不同的浏览器采用jQuery,为了适配不同的终端采用CSS3 Media Query (媒体查询) 1.1.1 栅 ...

  9. web容器 web服务器 servlet/jsp容器 之间的区别和关系

    今天学习tomcat时发现一篇写的比较好的文章,故分享给大家 Web服务器(软件): Apache http server, 这个它的网址,http://httpd.apache.org/downlo ...

随机推荐

  1. echo命令详解

    echo: echo [-neE] [arg ...] echo会将输入的字符串送往标准输出.输出的字符串间以空白字符隔开, 并在最后加上换行号. Options: -n 不在最后自动换行 -e 使用 ...

  2. 报表软件JS开发引用HTML DOM的location和document对象

    上一次提到,在报表软件FineReport的JavaScript开发中,可以访问并处理的HTML DOM对象有windows.location.document三种.这次就继续介绍后两种,locati ...

  3. 洛谷CON1041 NOIP模拟赛一试

    A T2-power of 2 题目描述 是一个十分特殊的式子. 例如: n=0时 =2 然而,太大了 所以,我们让对10007 取模 输入输出格式 输入格式: n 输出格式:  % 10007 输入 ...

  4. EhCache的配置

    JPA和Hibernate的二级缓存都是这样做的 代码目录: 这是基础的jar包,如果少的话,再去maven下载 <!-- Spring --> <dependency> &l ...

  5. load和get的延迟加载

    load和get方法的区别: Session.load/get方法均可以根据指定的实体类和id从数据库读取记录,并返回与之对应的实体对象. 区别在于: 如果未能发现符合条件的记录,get方法返回nul ...

  6. ffmbc——广播电视以及专业用途量身定制的FFmpeg

    做项目遇到针对于mpegts多节目流转码的问题,看遍了ffmpeg的参数都得不到解决办法,最后在雷神的博客中看到了ffmbc: 结果,还是没解决问题,但是看起来改改ffmbc的代码还是相对简单一些,抽 ...

  7. Java连接Oracle database小结

    利用jdbc连接Oracle数据库,首先得选对jdbc的版本. jdk6需要ojdbc6.jar这个包.如果选错的话,调用isValid()这个方法时,有可能有这个异常: Exception in t ...

  8. jQuery基础课程

    环境搭建 搭建一个jQuery的开发环境非常方便,可以通过下列几个步骤进行. 下载jQuery文件库 在jQuery的官方网站(http://jquery.com)中,下载最新版本的jQuery文件库 ...

  9. 【原】关于使用sklearn进行数据预处理 —— 归一化/标准化/正则化

    一.标准化(Z-Score),或者去除均值和方差缩放 公式为:(X-mean)/std  计算时对每个属性/每列分别进行. 将数据按期属性(按列进行)减去其均值,并处以其方差.得到的结果是,对于每个属 ...

  10. setTimeout,setInterval原理

    function a() { setTimeout(function(){alert(1)},0); alert(2); } a(); 和其他的编程语言一样,Javascript中的函数调用也是通过堆 ...