【问题标题】:Wildfly Swarm Consul野蝇群领事
【发布时间】:2018-04-16 19:42:21
【问题描述】:

我正在尝试将 Wildfly Swarm REST 服务注册到正在运行的 Consule 代理,但它无法正常工作。

我能够注册一个服务(我可以在 Consul ui 中看到它),但不知何故,健康检查不起作用。

Swarm 服务器经常告诉我,由于“HTTP 405 Method not allowed”,“发送检查”失败。我可以在 Consule 控制台中看到类似的日志,不允许使用 GET 方法。

我陷入了死胡同:我的应用程序无法运行,Wildfly Swarm 示例也无法运行(同样的例外)。为了确定,我还在两侧配置了一个 CORS 过滤器,但这也不起作用。

我正在使用 Wildfly Swarm 2017.10.1 和 Consul 1.0.0。

希望大家帮忙。 最好的问候

【问题讨论】:

  • 好的,我找到了为什么它不起作用的具体问题。 Consul 1.0.0 HTTP API 需要一个 PUT 方法来进行 TTL 检查 (/v1/agent/check/pass)。但是 Wildfly Swarm 正在发送 GET。我猜,Conul 似乎用一些新版本改变了这一点。

标签: consul service-discovery wildfly-swarm


【解决方案1】:

我自己想通了。显然,这并不难^^

我检查了用于我的 Wildfly Swarm 版本的 Consul Client API 的版本:它是 0.9.16。我已经下载了所有 Consul 版本并检查了哪一个是兼容的。我可以验证直到 0.9.3 的所有版本都在工作

Consul 1.0.0 有一些非常关键的重大更改,我真的不明白为什么它们没有在 HTTP API v2 中实现,但这不是重点。

我强烈建议将 topology-consul 部分使用的 Consul Client API 升级到较新的版本,例如 0.16.5 或 0.17.0。 至少,请在 README 中为ribbon-consul 示例添加一个注释,可以使用哪些 Consul 版本。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-04-01
    • 1970-01-01
    • 2014-01-20
    • 2015-02-26
    • 1970-01-01
    • 1970-01-01
    • 2017-05-27
    • 1970-01-01
    相关资源
    最近更新 更多