美文网首页IT修真院_JAVA
jetty,resin,tomcat的差别在哪里,在线上服务应该

jetty,resin,tomcat的差别在哪里,在线上服务应该

作者: 七里花海 | 来源:发表于2017-11-21 10:15 被阅读0次

jetty,resin,tomcat的差别

1.背景介绍

2.知识剖析

3.常见问题

4.解决方案

5.编码实战

6.扩展思考

7.参考文献

8.更多讨论

1.背景介绍

Tomcat服务器

Tomcat是SUN公司推出的一个优秀的Servlet容器,由Apache、Sun 和其他一些公司及个人共同开发而成。

Tomcat本身完全用java语言编写。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。

特点:

1、提供了可被服务器加载并执行的程序代码,并服务于来自客户端的请求。

2、Servlet不依赖浏览器,是允许在服务器端,所以不管浏览器是否支持java,都能请求访问servlet。

Resin服务器

Resin是CAUCHO公司的产品,是一个非常流行的application server,对servlet和JSP提供了良好的支持,性能也比较优良,resin同样也采用JAVA语言开发。

Resin提供了最快的jsp/servlets运行平台。在java和javascript的支持下,Resin可以为任务灵活选用合适的开发语言。

特点:

1、Resin包含了很多可靠的特性,包括服务器自动重启、检测并重启死锁的服务器、管理JVM内存以防止内存泄露等。

2、Resin可以将多个服务器作为一个服务器来对客户进行响应,从而增强服务器的扩展能力。

3、Resin可实现持久和分布的sessions:持久的session能够在服务器重启的时候保持现有的Http会话,分布式的session可以在多个服务器之间共享Http会话的状态。

Jetty服务器

Jetty是一个开源、基于标准、全功能实现的JAVA服务器,Jetty也是使用Java语言编写的,

它的API以一组JAR包的形式发布。开发人员可以将Jetty容器实例化成一个对象,可以迅速为一些独立运行的Java应用提供网络和web连接。

特点:

1、Jetty嵌入比较便利,它设计之初就是作为一个优秀的组件来设计的,因此Jetty可以非常容易的嵌入到应用程序当中而不需要程序为了使用Jetty做修改。

2、Jetty是轻量的web服务器,一般来说,它的默认配置便可以满足日常大部分需求,

如果要完成较为复杂的功能,只需修改相关的xml文件。jetty的嵌入只需少量的代码就可以做到。

3、Jetty易拓展,有许多非常良好的接口,因此在Jetty的某种实现无法满足用户的需要时,用户可以非常方便地对Jetty的某些实现进行修改,使得Jetty适用于特殊的应用程序的需求。

2.知识剖析

Tomcat和Resin的区别

相同点:他们都是用java编写的,都是web服务器,并且支持集群部署。

不同点:

1、速度方面,Resin比Tomcat快2倍以上,不过Tomcat也很快,所以这个差别几乎感受不到。

2、开关机制上方面,Resin要比Tomcat好,比如修改了配置文件之后,Resin是会自动重启的,而Tomcat需要人工手动关闭并重启。

3、报错方面,Tomcat比较详细,一个小小的错误也会用大篇幅来描述,而Resin则相对简洁明确一些。

Tomcat和Jetty的区别

相同点:他们同样是用java编写,都是一种Servlet引擎,他们都支持标准的servlet规范和JavaEE的规范。

不同点:

1、架构方面,Jetty的架构是基于Handler来实现的,主要的扩展功能都可以用Handler来实现,扩展简单。

Tomcat的架构是基于容器设计的,进行扩展是需要了解Tomcat的整体设计结构,不易扩展。

2、灵活性方面,Jetty更灵活,体现在其可插拔性和可扩展性,更易于开发者对Jetty本身进行二次开发,定制一个适合自身需求的Web Server。

相比之下,重量级的Tomcat因为本来就支持过多特性,要对其精简,比对jetty进行拓展都更难。

3、处理性能方面,Tomcat适合处理少数非常繁忙的链接,也就是说链接生命周期短的话,Tomcat的总体性能更高。另外,Jetty在处理静态资源时,性能优于Tomcat。

3.常见问题

在线上服务应该选择哪一种WEB服务器?

4.解决方案

这些服务器各有优劣,选择服务器时应该先参考项目,预估规模大小等。比如大规模的企业级应用,Tomcat自身扩展了大量JEE特性可满足企业级应用的需求,

所以这种情况下应选用Tomcat。

5.编码实战

6.扩展思考

7.参考文献

http://blog.csdn.net/lihua2915/article/details/5997105

8.更多讨论

除了这几种服务器,还有哪些重要的服务器?

Jboss,weblogic,apache等。

可否使用nginx对这几种服务器设置均衡负载配置?

可以,nginx反向代理这几种服务器就行了。

PPT链接

相关文章

网友评论

    本文标题:jetty,resin,tomcat的差别在哪里,在线上服务应该

    本文链接:https://www.haomeiwen.com/subject/htyivxtx.html