如何使用Cloud Foundry Rabbit MQ服务启用Turbine流

时间:2016-09-06 18:22:48

标签: rabbitmq hystrix spring-cloud-netflix turbine

我正在尝试在我的示例应用程序中集成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>

在点击Turbine服务器时,我得到了

data : {type : ping}


Management port on turbine server is set to -1.

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

1 个答案:

答案 0 :(得分:0)

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