精通JBOSS(一)----历史大爆炸

简介: Birth PlaceJBoss VS Tomcat吐槽大会    最近在研究Jboss,下面通会通过系列的博客来给大家进行讲解,从JBOSS的历史,和Tomcat的对比(用tomcat和jboss比较多,所以在这就做一些这两个的对比),还有后期我会在我的云服务器(关于云服务器的话大家可以去小鸟云去申请个三个月的,现在个人申请是免费的,可以拿来玩玩,需要实名认证。

    最近在研究Jboss,下面通会通过系列的博客来给大家进行讲解,从JBOSS的历史,和Tomcat的对比(用tomcat和jboss比较多,所以在这就做一些这两个的对比),还有后期我会在我的云服务器(关于云服务器的话大家可以去小鸟云去申请个三个月的,现在个人申请是免费的,可以拿来玩玩,需要实名认证。这不是在推销哦!)上搭个jboss还有jboss集群,都会一一给大家分享,不喜勿喷哦!

    

Birth Place

这里写图片描述

    了解到的就是JBOSS就是有JBOSS的开发团队来开发的,就是JBOSS公司。而Tomcat隶属于Apache软件基金会,很多著名的项目Hadoop,zookeeper,storm等,具体的大家可以去了解了解“一片羽毛的故事”:Apache软件基金会成立15年,在这就不细讲了。

    
    下面咱们就通过与tomcat的一些对比来讲讲JBoss。

    

JBoss VS Tomcat

    首先呢,Jboss和Tomcat都是J2EE应用服务器,因为他们都支持J2EE的规范,只不过支持的规范有一定的不同罢了。

这里写图片描述

    上面说了,Tomcat和Jboss首先都是J2EE服务器,在往细里说,Tomcat是一个Web应用服务器,而Jboss是一个EJB服务器在4.0之前。下面再看一张图:

这里写图片描述

    Tomcat支持Servlet和JSP规范,在Servlet规范中有说明:能够发布和运行Web应用的web服务器成为Servlet容器,所以Tomcat也是一个Servlet容器。也许同学们就该发问了,Jboss不支持Servlet和Jsp么?么着急,听我细细给你道来,在4.0之前,Jboss是不能直接作为Web服务器来使用的, 要想有Jboss Web的功能的话,需要和Web服务器(Tomcat/Jetty)绑定使用才行。

这里写图片描述

    而Jboss4开始,jboss公司把Tomcat内嵌到了Jboss服务器中,从此Jboss便有了Tomcat的功能。

这里写图片描述

    再看一张图片:

这里写图片描述

    图中标黄的字体,是个人认为变动比较明显的版本,7.0几乎完全重写了Jboss,再往后就把Jboss更名为wildfly, 官方的说法是问了人们更好的区分jboss社区版和企业版,现在jboss名称默认是指jboss EAP , 开源版才叫 wildfly,不过到现在要不是我研究jboss,我可能根本不知道wildfly是个啥。具体版本每个版本的变化可以参考 JBOSS4,JBOSS5和JBOSS6各主要版本特性

    

吐槽大会

    现阶段通过听说或者了解,可能会有些局限性的,现在比较大的公司几乎不用Jboss,为什么?因为有些公司用到的规范Tomcat就可以支持,而Jboss几乎将所有的功能都集成进入服务器(jsf ,jpa,ejb,jta,jms,jndi,jms,cache),如果公司只用到了一个Servlet容器,但却补到了Jboss上,很没有必要,有点大材小用的赶脚~~,有这么几个问题:

  1. jboss启动需要占用更大的内存(jboss7以后按模块加载会好些),如果买云服务那内存可不便宜
  2. jboss会在同时启动很多的端口(有端口洁癖的人心里很不爽)
  3. 配置复杂,在配置上花的时间和精力有可能比在代码业务逻辑上花的时间还多。
  4. jboss性能不及tomcat,jboss性能好过tomcat那是销售的外交辞令,只要会调优tomcat 性能会好过jboss的。

    不过有一句话:存在即合理,也许是我对Jboss的了解还不是很多,以上只是个人吐槽罢了,存在既有存在的道理。只是适用在什么场合吧。

    最后一句话:优秀的互联网公司一直都在使用轻量级的框架和服务器,这个趋势一个没有变过。

相关文章
|
3月前
|
前端开发 Java 应用服务中间件
21张图解析Tomcat运行原理与架构全貌
【10月更文挑战第2天】本文通过21张图详细解析了Tomcat的运行原理与架构。Tomcat作为Java Web开发中最流行的Web服务器之一,其架构设计精妙。文章首先介绍了Tomcat的基本组件:Connector(连接器)负责网络通信,Container(容器)处理业务逻辑。连接器内部包括EndPoint、Processor和Adapter等组件,分别处理通信、协议解析和请求封装。容器采用多级结构(Engine、Host、Context、Wrapper),并通过Mapper组件进行请求路由。文章还探讨了Tomcat的生命周期管理、启动与停止机制,并通过源码分析展示了请求处理流程。
|
8月前
|
算法 安全 数据安全/隐私保护
深入探究一个长期隐藏的底层bug的学习报告
在软件开发的过程中,底层bug往往像一颗定时炸弹,随时可能引发严重的问题。本文将分享我在开发过程中遇到的一个长期未被发现的底层bug,以及我如何逐步排查并最终解决这个问题的全过程。通过这次排查,我深刻认识到了代码规范性的重要性。一个不规范的代码修改,虽然短期内可能不会引起问题,但长期累积下来,可能会引发灾难性的后果。此外,我也意识到了底层模块的通用性和风险意识的重要性。在解决一个问题的同时,应该审视是否有相似的问题存在,以避免未来的风险。
148 3
|
Java
JDK8引进的JVM参数变化记录
JDK8引进的JVM参数变化记录
79 0
|
传感器 定位技术 ice
Google Earth Engine——该数据集是美国宇航局在研究环境中使用地球系统数据记录 (MEaSUREs) 计划的一部分,包括选定冰川出口区域的月平均速度图
Google Earth Engine——该数据集是美国宇航局在研究环境中使用地球系统数据记录 (MEaSUREs) 计划的一部分,包括选定冰川出口区域的月平均速度图
149 0
Google Earth Engine——该数据集是美国宇航局在研究环境中使用地球系统数据记录 (MEaSUREs) 计划的一部分,包括选定冰川出口区域的月平均速度图
|
Java Android开发
JDK版本变化也太快了,意义有多大?
JDK版本变化也太快了,意义有多大?
162 0
|
XML 数据格式
从 Confluence 5.3 及其早期版本中恢复空间
如果你需要从 Confluence 5.3 及其早期版本中的导出文件恢复到晚于 Confluence 5.3 的 Confluence 中的话。
1079 0
|
网络协议 应用服务中间件 Perl
|
应用服务中间件 容器