我使用JHipster生成了几个基于Spring的微服务。目前正在考虑在其中一个服务中添加Spring支持,使用本教程:https://spring.io/guides/gs/messaging-rabbitmq/
当在服务中添加AMQP支持时,我发现服务总是在状态下降的注册表(Eureka)服务器上注册,如果我删除了下面的gradle依赖项,问题就会消失。
compile('org.springframework.amqp:spring-rabbit:1.5.3.RELEASE')
具有此依赖性的服务将首先在启动时使用状态启动向尤里卡服务器注册,然后立即重新注册状态下降。
尤里卡注册服务器
尤里卡服务器的日志:
2016-08-26 06:55:18.291 INFO 5875 -- io-8761-exec-11 c.n.e.registry.AbstractInstanceRegistry :注册实例销售/销售:4454c0adc6b9c9c70d799930ac3b7d374c,状态开始(replication=false) 2016-08-26 06:55:18.806 INFO 5875 -- io-8761-exec-10 c.n.e.registry.AbstractInstanceRegistry :注册实例销售/销售:4454c0adc6b9c70d730ac3b374c,状态开始(replication=true) 2016-08-26 06:55:21.260 INFO 5875 -io-8761-exec-10 c.n.e.registry.AbstractInstanceRegistry:注册实例销售/销售:445454 c0adc6b9c70d730ac3b7d374c,状态开始(replication=true)2016-08-26 06:55:21.260 INFO 5875--io-8761-exec-10 c.n.e.registry.AbstractInstanceRegistry:注册实例销售/销售:4454c0adc6b9c70d7930ac3b7d374c,状态开始(replication=true)2016-08-26 06:55:21.260 INFO 5875-io-8761-exec-10 c.n.e.registry.AbstractInstanceRegistry:注册实例销售/销售:4454c0adc6b9c70d730ac3b7d374c,状态开始(replication=true)2016-08-26 06:55:21.260 INFO 5875--io-8761-55-8 c.n.e.registry.AbstractInstanceRegistry :注册实例销售/销售:4454c0adc6b9c70d799930ac3b7d374c,状态开始(replication=false) 2016-08-26 06:55:21.763 INFO 5875 - nio-8761-exec-1 c.n.e.registry.AbstractInstanceRegistry :注册实例销售/销售:4454c0adc6b9c7070d799930ac3b7d374c,状态启动状态(replication=true) 2016-26 06:55:37.220 INFO 5875 - nio-8761-exec-3 c.n.e.registry.AbstractInstanceRegistry :注册实例销售/销售:4454c0adc6c70d70c70c709c70930930ac3b374c,状态开始(replication=true)2016-26 06:55:37.220 INFO 5875-nio-8761-exec-3 c.n.e.registry.AbstractInstanceRegistry:注册实例销售/销售:4454 c0adc9c70d799930ac330ac3b374c,状态开始(replication=true)2016-26 06:55:37.220 INFO 5875--nio-8761-exec-3 c.n.e.registry.AbstractInstanceRegistry:注册实例销售/销售:4454c0adc9c709c709c70999930ac3b7d374c,状态开始(replication=true)2016-26 06:55:37.220 INFO 5875--nio-8761-exec-3 c.n.e.registry.AbstractInstanceRegistry:注册实例销售/销售:445UP (replication=false) 2016-08-26 06:55:37.730 INFO 5875 -- nio-8761-exec-2 c.n.e.registry.AbstractInstanceRegistry :注册实例销售/销售:4454c0adc6b9c70d799930ac3b7d374c (replication=true) 2016-08-26 06:55:37.885 INFO 5875 -- io-8761-exec-11 c.n.e.registry.AbstractInstanceRegistry :注册实例销售/销售:4454c0adc6b9c70d799930ac3b7d374c (replication=false) 2016-08-26 06:55:38.399 5875 --nio-8761-exec-5 c.n.e.registry.AbstractInstanceRegistry :注册实例销售/销售:4454c0adc6b9c70d799930ac3b7d374c,状态下降(replication=true) 2016-08-26 06:55:43.699 INFO 5875 - compensationTime c.n.e.registry.AbstractInstanceRegistry :使用compensationTime 2ms运行驱逐任务2016-08-26 06:56:43.700 INFO 5875 -- a-EvictionTimer c.n.e.registry.AbstractInstanceRegistry :使用compensationTime 2ms运行驱逐任务。
另一方面,销售服务的日志没有任何错误。然而,与其他不依赖amqp的服务相比,日志中最显著的差异是。
2016-08-26 06:55:37.881警告6440 - nfoReplicator-0 c.n.discovery.InstanceInfoReplicator :由于速率限制器而忽略onDemand更新
我确认,如果我删除spring amqp依赖项,问题将得到解决。
我是不是使用了错误的amqp依赖?在spring云微服务中是否有其他使用RabbitMQ的方法?
发布于 2016-09-08 16:17:32
结论:确保兔子服务器在类路径(Redis、Couchbase等)中与其依赖的任何其他组件都已启动和运行,并使用URL (http://{service-ip}:{service-port}/health)检查您的服务健康状况,您应该得到如下内容:
{“描述”:"Spring领事Discovery“,"status":"UP”}
https://stackoverflow.com/questions/39168690
复制相似问题