2017-04-06 88 views
1

我正在研究用Apache Tomcat替换开发机器的Weblogic 10.x,我很感谢任何人都可能有的见解或建议。用Tomcat取代Weblogic?

替换的原因可能是任何曾经试图在生产webapp服务器上进行开发工作的人都知道的 - 以提高开发效率。该应用程序规模庞大(数百万行代码),遗留代码库,包含一系列技术(Struts,EJB 2,EJB 3等)以及对代码库的更改通常需要重新部署/重新启动Web服务器(甚至与JRebel) - 这需要很长的时间(5-10分钟)。这显然浪费时间,引入挫折并导致错误。

我想知道的是 - 考虑这种替换是否成立?该代码库稍后将在开发流程中针对geniune WL实例进行验证,但对于开发机器,我希望它尽可能精简。这显然不会是一个微不足道的过渡,但我讨厌一周内完全不可能完成的事情,或者至少绝对不可取。因此,显然我需要一些实现JavaEE规范的东西(不需要经过官方验证 - 只要它工作:)),所以我研究了可能性,对我而言,Apache TomEE看起来很有希望。 Geronimo已经很长时间了,看起来好像,Glassfish处于僵局(?),而Jonas是一个未知数。在Java 8下工作将是一个BIG plus(TomEE 1.7似乎支持)。

最后,我们不使用XA事务(两阶段提交),所以至少不需要支持。

这是一个合理的方法吗?有没有我失踪的另一种选择?任何经历过渡?任何想法都欢迎。

+0

如果你想要实现Java EE的东西,我会使用[WildFly](http://wildfly.org/)(开源JBoss)。 –

+0

它与干净的Tomcat或TomEE或Geronimo相比有多快?另外 - 为什么WildFly? – quantum

+0

我怀疑你会通过切换到TomEE获得很大的性能优势。你确实有不同的开发和生产环境的缺点。 – Kayaman

回答

3

长期TomEE用户在这里。过去3年来,我们一直在使用TomEE进行生产。我们从版本1.7(Java EE 6)上的更大SOA开始,并在一年前将微服务升级到TomEE 7(Java EE 7)。我们的堆栈是Kotlin,JAX-RS,CDI,JSON-B,BVal,mybatis for db(pgsql和db2),elasticsearch,hazelcast,kafka,akka-stream-kafka和akka。 TomEE是一款不错的小型应用服务器。在启动和初始垃圾收集时,我认为它运行大约30米的堆使用率(或更少)。我们开始在Kubernetes上运行Docker。

WildFly有一些很酷的事情发生,似乎他们更积极,显然他们有一个巨大的公司背后。

我们同意并运行Adam Bien所支持的设置,由于Docker镜像的大小,它不会超出uberjar,而是在完整的应用程序服务器上运行128M容器与小于5-20M的容器。

我试过了WildFly Swarm,它很酷,而且还有一个空心jar部署,你可以部署一场战争(微波炉也支持这个,我认为Payara微)。

我会将TomEE,WildFly(和Swarm)和Payara放在我的应用服务器列表中,用于坚持使用Java EE路由。如果你考虑一个不同的方向,准备通过大量的信息,文章,博客等Akka-HTTP?玩? Scala呢? Spring Boot,它只在netty/tomcat/etc上运行? vert.x?

这么多玩家可以选择。找到一个你喜欢和工作。现在,我们是TomEE。

相关问题