2017-11-04 200 views
1

我正在尝试向正在运行的Consule代理注册一个Wildfly Swarm REST服务,但它无法正常工作。蜻蜓虫领事

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

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

我处于死路一条:我的应用程序不工作,Wildfly Swarm示例也没有(同样的例外)。我也在两边配置了一个CORS过滤器,只是为了确定,但那也行不通。

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

我希望你们能帮忙。 致以问候

+0

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

回答

1

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

我检查了用于我的Wildfly Swarm版本的Consul客户端API的版本:它是0.9.16。我已经下载了所有Consul版本并检查了哪一个版本兼容。我可以验证所有版本高达0.9.3正在工作

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

我强烈建议将拓扑 - 顾问部分使用的Consul客户端API升级到较新的版本,如0.16.5或0.17.0。 至少,请在自述文件的README文件中添加一条注释,以了解可以使用Consul版本的功能区。