2016-06-29 3 views
1

Как мне связать службы REST вместе с использованием Spring Cloud? Я чувствую, что мне не хватает чего-то очевидного. Например, скажем, что у меня есть два отдельных микросервиса, которые настроены для работы с Spring Cloud и Spring Boot. Как связать его вместе, чтобы он мог называть 1-й сервис вторым?Spring Cloud - Переплетные службы вместе

Насколько я понимаю, Eureka может использоваться как служебный реестр. Если бы мы использовали Eureka, что бы код выглядел так, как будто один сервис звонил другому?

+0

Eureka - это просто прокси-сервер для сервисов, теперь вместо вызова вашего URL-адреса службы вы будете называть URL-адрес eureka-url/service-name. Для микросервисов, которые мы реализуем, нет ничего похожего на cloud-привязку 'bind-service'. Вместо этого мы должны написать собственный код клиента. Например, для этого вы можете использовать 'RestTemplat' или' Apache HttpClient' или простой код URLConnection. – 11thdimension

+0

Все, что вам нужно знать для основ, находится в их документах, это действительно хорошая базовая статья: https://spring.io/blog/2015/07/14/microservices-with-spring – Hrabosch

ответ

0

Я думаю, что другие ответы на правильном пути, но вот еще некоторые особенности.

Когда вы используете Spring Cloud Netflix для создания сервера и клиентов Eureka, вы можете использовать bean-компонент EurekaClient, чтобы получить URL-адрес своей главной страницы своих клиентов. Затем вы можете использовать RestClient для вызова API для этого клиента.

Вы также можете использовать Feign client.

0

У вас может быть API-шлюз, в котором вы можете вызывать службы Microservices с помощью функции FeignClient. Например, Microservice A и Microservice B. В шлюзе есть клиенты Feign для обоих микросервисов. Напишите службу в Gateway, которая будет ссылаться на услугу в A и услугу в B

Другая работа вокруг - вы можете иметь ResourceProcessor в Microservice A и FeignClient для MicroService B. Позвоните в службу Microservice B от процессора Ресурсного A

0

Вы можете использовать Spring Cloud Netflix, который поставляется с отличным рисунком с пакетом Discovery (Eureka), Circuit Breaker (Hystrix), интеллектуальной маршрутизации (Zuul) и на стороне клиента балансировки нагрузки (лента) будет подходящим для широкомасштабных распределенных систем, которые, в частности, построены на микросервисах.

Также обратитесь к их good documentation resource.