2015-12-25 2 views
1

Все, что я нашел на интернеты о Spring Cloud Netflix это о запуске microservices от загрузки приложений с использованием @EnableEurekaClients и так далееSpring Cloud Netflix - как получить доступ к Eureka/Ribbon из традиционного веб-приложения?

Теперь я пытаюсь соединить мое протоколирование microservice в традиционном применении войны (SpringMVC, JAXWS и т.д.) - часть наследия, которая не может быть преобразована в Boot или изменена каким-либо образом (по технической задаче).

Я создал новый модуль maven-log-server-client, который ничего не знает о верхнем веб-слое и предназначен для использования в качестве простой зависимости в любом проекте maven.

Как настроить доступ к Spring Cloud Netflix для этой простой зависимости? По крайней мере, как настроить Eureka и Ribbon?

Я просто извлеченный несколько строк кода из RestTemplate и создал свой обычай JmsTemplate (microservice работает с Jms Remoting с Apache Camel и ActiveMQ), как именно это делается в RestTemplate, но этот код стил отсутствует подключение к инфраструктуре

afaik мы можем создать глобальный одноэлементный bean-компонент, запустить отдельный поток из этого bean-компонента и запустить приложение Boot из этого потока, но разве вы не думаете, что он очень уродлив и может привести к проблемам? Как это действительно нужно использовать?

ответ

1

Отличный вопрос!

Один из подходов - использовать «коляску». Это похоже на приложение Spring Boot, которое регистрируется с Eureka Server от имени вашего традиционного веб-приложения.

См например .:

http://www.java-allandsundry.com/2015/09/spring-cloud-sidecar.html

http://cloud.spring.io/spring-cloud-netflix/spring-cloud-netflix.html#_polyglot_support_with_sidecar

Другой подход заключается в использовании следующей библиотеки:

"Маленький Lib, чтобы разрешить регистрацию устаревших приложений в обнаружении службы Эврика".

https://github.com/sawano/eureka-legacy-registrar

Эта библиотека может быть использована за пределами Spring ботинке.

Смежные вопросы