【发布时间】:2017-01-03 06:25:27
【问题描述】:
我使用 JHipster 生成了几个基于 Spring Cloud Netflix 的微服务。目前正在考虑使用本教程在其中一项服务中添加 Spring AMQP 支持: https://spring.io/guides/gs/messaging-rabbitmq/
在服务中添加 AMQP 支持时,我发现该服务总是向 Registry(Eureka) 服务器注册,状态为 DOWN,如果我删除以下 gradle 依赖,问题就会消失
compile('org.springframework.amqp:spring-rabbit:1.5.3.RELEASE')
具有这种依赖关系的服务在启动时会先注册到 Eureka 服务器,状态为 UP,然后立即重新注册,状态为 DOWN。
Eureka服务器的日志:
2016-08-26 06:55:18.291 INFO 5875 --- [io-8761-exec-11] c.n.e.registry.AbstractInstanceRegistry : 注册实例 SALES/sales:4454c0adc6b9c70d799930ac3b7d374c 状态为 STARTING (replication=false) 2016-08-26 06:55:18.806 INFO 5875 --- [io-8761-exec-10] c.n.e.registry.AbstractInstanceRegistry : 注册实例 SALES/sales:4454c0adc6b9c70d799930ac3b7d374c 状态为 STARTING (replication=true) 2016-08-26 06:55:21.260 INFO 5875 --- [nio-8761-exec-8] c.n.e.registry.AbstractInstanceRegistry : 注册实例 SALES/sales:4454c0adc6b9c70d799930ac3b7d374c 状态为 STARTING (replication=false) 2016-08-26 06:55:21.763 INFO 5875 --- [nio-8761-exec-1] c.n.e.registry.AbstractInstanceRegistry:注册实例 SALES/sales:4454c0adc6b9c70d799930ac3b7d374c 状态为 STARTING(复制 = true) 2016-08-26 06:55:37.220 INFO 5875 --- [nio-8761-exec-3] c.n.e.registry.AbstractInstanceRegistry : 注册实例 SALES/sales:4454c0adc6b9c70d799930ac3b7d374c 状态为 UP (replication=false) 2016-08-26 06:55:37.730 INFO 5875 --- [nio-8761-exec-2] c.n.e.registry.AbstractInstanceRegistry : 注册实例 SALES/sales:4454c0adc6b9c70d799930ac3b7d374c 状态为 UP (replication=true) 2016-08-26 06:55:37.885 INFO 5875 --- [io-8761-exec-11] c.n.e.registry.AbstractInstanceRegistry : 注册实例 SALES/sales:4454c0adc6b9c70d799930ac3b7d374c 状态为 DOWN (replication=false) 2016-08-26 06:55:38.399 INFO 5875 --- [nio-8761-exec-5] c.n.e.registry.AbstractInstanceRegistry:注册实例 SALES/sales:4454c0adc6b9c70d799930ac3b7d374c 状态为 DOWN (replication=true) 2016-08-26 06:55:43.699 INFO 5875 --- [a-EvictionTimer] c.n.e.registry.AbstractInstanceRegistry:运行 evict 任务,补偿时间为 2ms 2016-08-26 06:56:43.700 INFO 5875 --- [a-EvictionTimer] c.n.e.registry.AbstractInstanceRegistry:以 2ms 的补偿时间运行驱逐任务
另一方面,Sales 服务的日志没有任何错误。但是与其他没有amqp依赖的服务相比,日志中最显着的区别是
2016-08-26 06:55:37.881 WARN 6440 --- [nfoReplicator-0] c.n.discovery.InstanceInfoReplicator:由于速率限制而忽略按需更新
我确认如果我删除 spring amqp 依赖项,该问题将得到解决。
我是否使用了错误的 amqp 依赖项? Spring Cloud 微服务中还有其他方法可以使用 RabbitMQ 吗?
【问题讨论】:
标签: jhipster spring-amqp spring-cloud-netflix