Я использовал JHipster для создания нескольких микросервисов на основе Spring Cloud Netflix. В настоящее время подумываю о добавлении поддержки Spring AMQP в одну из служб, используя это руководство: https://spring.io/guides/gs/messaging-rabbitmq/.
При добавлении поддержки AMQP в службы я обнаружил, что служба всегда регистрируется на сервере реестра (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] cneregistry.AbstractInstanceRegistry: Зарегистрированный экземпляр ПРОДАЖИ / продажи: 4454c0adc6b9c70d799930ac3b7d374c со статусом STARTING (репликация = false) 26-08-26 06 : 55: 18.806 INFO 5875 --- [io-8761-exec-10] cneregistry.AbstractInstanceRegistry: Зарегистрированный экземпляр SALES / sales: 4454c0adc6b9c70d799930ac3b7d374c со статусом STARTING (репликация = true) 2016-08-26 06: 55: 21.260 INFO 5875 --- [nio-8761-exec-8] cneregistry.AbstractInstanceRegistry: Зарегистрированный экземпляр ПРОДАЖИ / продажи: 4454c0adc6b9c70d799930ac3b7d374c со статусом STARTING (репликация = false) 2016-08-26 06: 55: 21.763 INFO 5875 --- [nio- 8761-exec-1] cneregistry.AbstractInstanceRegistry: Зарегистрированный экземпляр ПРОДАЖИ / продажи: 4454c0adc6b9c70d799930ac3b7d374c со статусом STARTING (репликация = true) 2016-08-26 06: 55: 37.220 INFO 5875 --- [nio-8761-exec-3] cneregistry.AbstractInstanceRegistry: Зарегистрированный экземпляр ПРОДАЖИ / продажи: 4454c0adc6b9c70d799930ac3b7d374c с status UP (replication = false) 2016-08-26 06: 55: 37.730 INFO 5875 --- [nio-8761-exec-2] cneregistry.AbstractInstanceRegistry: Зарегистрированный экземпляр SALES / sales: 4454c0adc6b9c70d799930ac3b7d374c со статусом UP (replication = true ) 2016-08-26 06: 55: 37.885 INFO 5875 --- [io-8761-exec-11] cneregistry.AbstractInstanceRegistry: Зарегистрированный экземпляр ПРОДАЖИ / продажи: 4454c0adc6b9c70d799930ac3b7d374c со статусом DOWN (репликация = false) 2016-08-26 06: 55: 38.399 INFO 5875 --- [nio-8761-exec-5] cneregistry.AbstractInstanceRegistry: Зарегистрированный экземпляр SALES / sales: 4454c0adc6b9c70d799930ac3b7d374c со статусом DOWN (репликация = true) 2016-08-26 06: 55: 43.699 INFO 5875 --- [a-EvictionTimer] cneregistry.AbstractInstanceRegistry: Запуск задачи выселения с компенсациейВремя 2 мс 2016-08-26 06: 56: 43.700 ИНФОРМАЦИЯ 5875 --- [a-EvictionTimer] cneregistry.AbstractInstanceRegistry: Запуск задачи выселения с компенсацией Время 2 мс
С другой стороны, в журнале службы продаж ошибок нет. однако по сравнению с другими службами, не зависящими от amqp, наиболее существенная разница в журнале
2016-08-26 06: 55: 37.881 WARN 6440 --- [nfoReplicator-0] c.n.discovery.InstanceInfoReplicator: игнорирование обновления onDemand из-за ограничителя скорости
Я подтвердил, что проблема будет устранена, если я удалю зависимость Spring amqp.
Я использую неправильную зависимость amqp? Есть ли другой способ использовать RabbitMQ в весенних облачных микросервисах?