Wildfly vs undertow 嵌入式表演

Posted

技术标签:

【中文标题】Wildfly vs undertow 嵌入式表演【英文标题】:Wildfly vs undertow embedded performances 【发布时间】:2016-10-24 15:00:15 【问题描述】:

我对嵌入式 undertow 技术很感兴趣,因为这样我就不必在每次我的项目更改机器时重新配置 standalone.xml。然后我可以运行.jar

所以我有两个问题:

我可以在war 中保留wildfly 配置(ssl、安全、端口、数据源、驱动程序和所有烦人的东西)吗?这个想法是能够下载一个新的wildfly副本,将战争放入其中,它就会运行(无需再次与standalone.xml混淆)。 通过使用嵌入式服务器而不是像wildfly FULL 这样的成熟Web 服务器是否会降低性能(或提高)? (假设我正在为嵌入式服务器导入战争所需的 jar)

编辑:来自下面的评论链

我不够清楚。假设我有一个名为 webapp.war 的网络应用程序。认为 我也在不同的云平台之间移动它。每次我 尝试其他云平台,我必须重新下载wildfly和 如果我使用 wildfly 服务器而不是 undertow,请重新配置standalone.xml 嵌入。但是,如果我使用undertow Embedded,我可以做到 在作为应用程序 jar 一部分的嵌入式服务器中配置 ONCE (链接到 webapp.war)。我想跳过这整个配置 是时候换个云平台了。所以我的两个问题是:是吗 可能在wildfly下有一个场景,其中conf是我的一部分 项目而不是服务器。第二个问题是:如果我不能 用wildfly 做到这一点,然后我可以用undertow 嵌入式API 做到这一点。 但是,我担心这会带来性能成本。那是 案例?

【问题讨论】:

【参考方案1】:

Undertow 是一个 Servlet 容器。它本身不知道 WildFly 是什么,也不知道如何基于standalone.xml 配置任何东西。如果您只是想要一个可执行的 JAR,我建议您查看 WildFly Swarm。

【讨论】:

我不确定我们是否完全一致。在问之前我看了看swarm。但是,它似乎仍然需要配置。我今晚或明天去试试。关于undertow,为了确保没有误解,我说的是嵌入式api。您几乎可以(我认为)配置我在应用程序 jar 本身中提到的任何内容。我尝试了 undertow,我喜欢它,但我担心使用它而不是“真正的”网络服务器是否会影响性能。 我想我是误会了。嵌入式 API 是指 Undertow 的嵌入式 API 还是 WildFly Embedded? undertow 嵌入式 API。喜欢这里undertow.io/undertow-docs/undertow-docs-1.3.0/index.html。它说There and two main ways that Undertow can be used, either by directly embedding it in your code, or as part of the Wildfly Application Server. 我正在谈论嵌入到我的代码中 好的。如果你这样做,你将不会得到 WildFly 提供的任何东西。这很好,但你提到了一些关于 standalone.xml 的事情,所以我想你可能也在寻找 WildFly 的东西 :) IOW WildFly 使用 Undertow,Undertow 不使用 WildFly。 Undertow 嵌入式 API 的核心只是一个 HTTP 服务器(说得不好,但有点正确)。 WildFly 是一个使用 Undertow 的完整 EE 容器。您不能使用 Undertow API 来配置 WildFly。看看 WildFly Swarm。这似乎真的是你所追求的。所有配置都是通过 WildFly Swarm API 在代码中完成的。

以上是关于Wildfly vs undertow 嵌入式表演的主要内容,如果未能解决你的问题,请参考以下文章

Wildfly / Undertow:一台主机的多个别名

使用 WildFly (Undertow) 托管多个域

Wildfly Undertow 文件 Mimetypes

Wildfly 8.2/undertow 读取超时

Wildfly Undertow 中的 HTTPS 重定向

以编程方式在 Wildfly/Undertow 中创建虚拟主机