产品 | 技术 |
wildfly | ejb 3.x |
tomcat /wildfly/... | Spring 4.x |
不谈论轻量级的之类的争论,没有意义。只有你了解了之后,才能下结论。
也不谈论微服务。注意:ejb 3.x、ejb默指ejb 3.2。
下面用图的形式帮大家理解普通spring 和ejb部署方式的一些异同。
一般spring项目:
一般来说,基于tomcat时,大家习惯于将第三方jar包打入到每一个项目中去。
每一个war包都需要做若干配置:spring MVC配置、spring bean配置、mybatis配置。
所以用spring做开发,非常容易写成“巨石型应用”、或者叫单体(Monolith)应用。
可以说以前spring 的这种方式,方家了大家。时过境迁,spring的架构还长期不变,之至成了"巨石型应用" 始作俑者。
sping 基于wildfly开发时,可以非常方便的把第三方的jar丢出去,做成wildfly的模块,且没有任何负作用,绝对不用担心jar版本冲突了!
下一篇中,将讲解spring 和wildfly的集成。
wildfly Java EE项目(一)
在wildfly中,可以一个业务模块打一个war方式。
wildfly Java EE项目(二)
在上图中: 项目1-war 依赖于项目1-jar; 项目2-war依赖于项目1-jar和项目2-jar。
在wildfly中,也非常方便的支持分模块并分层模式, 也可以叫做微单体模式(micromonolith)
就在可在微服务和单体应用之外的不错的选择。即开发简单,运维友好,又有一些微服务的特点。
http://www.infoq.com/cn/articles/an-optimized-micro-service-architecture-case?utm_source=infoq&utm_medium=popular_widget&utm_campaign=popular_content_list&utm_content=homepage
所以ejb 3.2相比spring 4.2, 开发起来,应该更方便一些。