2

我正在尝试将 Hystrix CircuitBreaker 集成到我的示例应用程序中。我有两个应用程序,一个充当服务器,另一个充当客户端。CircuitBreaker 工作正常,我可以看到 Hystrix.stream 表单客户端。

现在我正在使用 Turbine 流在一个 DashBoard 中尝试多个客户端。

在服务器端,我添加了 2 个依赖项,如下所示:

spring-cloud-starter-turbine-stream
spring-cloud-starter-stream.rabbit

并在应用程序上注释@EnableTurbineStream。

在客户端,我添加了以下依赖项:

spring-cloud-starter-hystrix-stream
spring-cloud-starter-stream.rabbit

这两个应用程序都部署在 Pivotal Cloud Foundry 中并绑定到用于 PCF 的 Rabbit Mq 服务。

在客户端部署中,我看到以下异常:

java.io.IOException :null
Caused by : com.rabbitmq.client.ShutDownSignalException :  channel error     :protocol method : #method<channel.close><reply-code=406, reply-test=PRECONDITION-FAILED - equivalent arg 'type' for exchange 'spring.cloud.hystrix.stream' in vhost '' : receieved 'topic' but current is 'Direct', class-id=40, methid-id=10>

在命中涡轮服务器时,我得到

data : {type : ping}


Management port on turbine server is set to -1.

客户端和服务器是否需要任何 MQ 配置才能在 Rabbit MQ 中推送 Hystrix 流?任何帮助,将不胜感激。

4

1 回答 1

0

客户端错误告诉您您正在尝试声明一个已经存在但类型冲突的交换。您可以通过更改交换名称或删除旧名称来修复它。或者干脆删除服务并在 Cloud Foundry 中重新创建它,

于 2016-09-08T06:08:15.007 回答