8

目前我们的生产环境运行 JBoss 5.1,我们一直在争论是否值得迁移到 JBoss 7.1。如果这是一个简单的服务器升级,那么它不会是一个问题。但是,不幸的是,我们将不得不更改配置,这需要一些努力。此外,我们的服务器在集群中运行,我了解到 JBoss 7.1 具有更多集群支持。

那么值得还是不值得?

谢谢

4

4 回答 4

12

我们目前处于同样的情况。

似乎有很多积极的方面:

  • 我们将不得不在某一时刻从 5.1 迁移出去。我们需要完整的配置文件,并且没有那么多 OSS 替代品(GlassFish 和 Geronimo)。由于 PCI-DSS 禁止我们使用 EoL 软件,仅这一点就可能会出售迁移。
  • 配置更好,更简单。它不再分布在 20 个 XML 文件中,您可以在其中配置 XML 文件中的方面,而是一个中心位置。所有端口都配置在一个中心位置,不再有转换 server.xml 的 XSL 文件。您可以在不知道类的实现细节的情况下理解配置文件。如果您从未配置过 JBoss,就很难理解这一点。
  • EJB 远程处理不再对每个套接字使用一个线程。
  • 删除不需要的子系统要容易得多。
  • 类加载模型看起来很正常,您可以通过 jboss-deployment-structure.xml 获得很多控制权
  • EJB 客户端库看起来更加整洁。JAR 从 20 个减少到 10 个,其中一半甚至是 OSGi 包(我们的客户端是 Eclipse RCP 应用程序)。
  • 虽然我们对 Java EE 6 用 @Singleton bean 替换我们的一些 SLSB 以及用计时器 EJB 替换我们的一些 SAR 并不感到太兴奋,但看起来确实很有趣。
  • 更快的启动和更少的内存使用(至少对于空服务器或小型部署)。我们还没有测试过大型部署。
  • 部署文件夹默认为空

我们仍然需要研究的事情:

  • 我们有点担心 Infinispan 的性能。我们目前使用 JBoss Cache 的 TreeCache API。虽然有一个适用于 Infinispan 的适配器提供相同的 API,但一些理论测试表明写入性能更差。这仅适用于 Infinispan 的树 API。
  • 不再支持 ExternalContext,我们目前使用它从 .bindings 文件中填充 JNDI 树
  • JMX 控制台不见了,如果您有任何基于此构建的内容,则需要对其进行调整,编辑实际上有一个可用的 JMX-Console 端口AS7-2227

我们不在集群中运行,所以我无法对此发表评论。

对我们来说最大的努力可能是迁移所有与 JBoss 以一种或另一种方式交互的 shell 脚本(安装、集成测试……)。

更新

我们已经迁移,这绝对是值得的。以上几点的一些更新:

  • 即使是大型部署也很快,只需最少的调整。
  • 集中式日志记录(Slf4j、JUL、JCL、Log4j……)非常好。
  • 7.1 有很多错误,我们无法使用,所以我们在 7.2 / EAP 6.1 并计划去 7.3 / EAP 6.2。仍然有相当多的错误,但我们可以解决它们。我们特别期待管理界面基于角色的访问控制,这将允许我们以最低权限运行我们的脚本。
  • GlassFish 4 将不会有一个受支持的版本,这会在生产使用上打上一个大大的问号。
  • EJB 远程安全性的灵活性要低得多。我们不得不采取一些变通方法,因为之前我们混合了经过身份验证和未经身份验证的 EJB 调用——这不再可能。
  • JBoss 的 JEE 6 BOM POM 好坏参半。理论上它很好,因为它管理所有 JEE 依赖项的版本。在实践中,artifactId 中的版本的坐标很糟糕,当我们迁移到 JEE 7 时这会很烦人。此外,当您想要包含用于测试的 JEE API 的实现时,它也不是很有帮助。
  • Infinispan 树 API 性能不是问题。
  • 我们用 DMR 脚本替换了 JMX-Console 脚本。

更新 2

  • 通过 SSL 使用 EJB 远程处理时会出现死锁。即使在 EAP 6.2 中也存在这种死锁。我们现在正处于从 WildFly 向后移植到 AS 7 的大量功能补丁集的阶段。
于 2012-04-22T15:37:03.330 回答
1

JBoss 5.1.0 上的一切都适合您吗?你的表现是你可以忍受的吗?

我目前正在从 JBoss 5.1.0GA 升级到 JBoss 7.1.1,这并不容易。您基本上是在升级到新的应用程序服务器。我猜你需要为这项工作预算很多美元。

话虽如此,与 5.1.0 相比,JBoss 7.1.1 非常快(至少启动时间)。我认为在接下来的 6 个月(左右)内,大多数“硬”迁移和过渡问题将在 jboss 论坛或通过错误修复得到充实。届时,您和您的团队可以重新评估是否要进行迁移。

祝你好运!

于 2012-06-12T16:50:08.247 回答
1

如果您使用 SSL,升级的一个好处是 JBoss 7.1.1 在 jdk 1.7 上运行,它支持 TLS 1.1 和 1.2,而 jdk 1.6 仅支持 TLS 1.0。JBoss 5 不会在 java 1.7 上运行,因此您很容易受到 BEAST 攻击。

于 2013-03-12T02:45:48.807 回答
1

无论如何,我会等一会儿。

AS 5 是 EE5 服务器,AS 7.1 是 EE6 服务器(EE6 规范于 2009 年发布)。因此,对于一个出色的新运行时环境来说,这是很多工作,但它不会为您提供任何热门的架构可能性。

WildFly 8.0.0.CR1 已经到期,这就是 EE7 服务器,它为您带来了许多新的有趣的开发可能性,例如 WebSockets 和 JAX-RS 2.0 ( http://www.slideshare.net/dandreadis/2013-11devoxxwild-flybof ) . 新的管理功能,例如单实例修补。并且不确定 AS7 到 WildFly8 是否会是一个超级简单的迁移,因为引入了一些主要的新东西,比如 Undertow 而不是 JBossWeb/Tomcat。

如果你必须去,你就必须去 - 如果你结束了死去的 7.x 路径,不要忘记得到大大改进的 7.2.0.Final 标签(比 7.1.1 好几百个问题)。但是,如果您认为您现在可以开始使用 Beta/CR 版本进行开发/迁移,并等待几个月以获得一个不错的生产稳定的 WildFly 8.xx 版本,那么您可能可以在下一次重大更新之前坐得更久。

兄弟,延斯

于 2013-12-08T18:43:45.990 回答