Конечно можно.Микросервисы - это просто REST-сервисы.Вам необходимо понять, как работают REST-сервисы.После этого просто напишите 2 Microservices (2 Rest-Services: служба-производитель и служба-потребитель) с помощью Spring-boot, пусть они будут работать под разными портами сервера, вызовите службу-получатель от другого, и все: у вас естьMicroservices.Теперь это примитивный способ написания микросервисов.
Чтобы они развивались, вам нужно добавить немного «магии» (без ракетостроения), например, используя Ленточку для распределения нагрузки между двумя экземплярами вашей «службы-производителя».
Выможет использовать службу обнаружения, которая является просто подпружиненным приложением с аннотацией @EnableEurekaServer (необходимо добавить соответствующую зависимость в pom). Теперь добавьте к своим первым (примитивным) Microservices аннотацию @EnableDiscoveryClient для основных классов и defaultZoneуказав на ваш eureka-сервис в application.properties (или application.yml) обоих, запустите ваш eureka-сервис (сервис обнаружения) и 2 микросервиса: они будут зарегистрированы в сервисе обнаружения.Конечно, теперь вам не нужно жестко кодировать http-адрес службы-производителя в службе-потребителе.
Взгляните на этот учебник
Отредактировано 21-го числаноября 2018 года в 12:41 по Гринвичу
Предположим, что ваш первый (тривиальный) микросервис (чистый отдых) работает на вашем компьютере через порт 8091.
В контроллере вашего второго(тривиальный) микросервис, который вы называете своим первым сервисом, используя RestTemplate.getForEntity (url, responseType, uriVariables), как, например, для примера в связанном учебном пособии:
ResponseEntity<CurrencyConversionBean> responseEntity =
new RestTemplate().getForEntity(
"http://localhost:8091/currency-exchange/from/{from}/to/{to}", CurrencyConversionBean.class, uriVariables);
Где url: URL вашего первого (микро) (остальное) обслуживание.responseType: класс / тип объекта, ожидаемого в качестве ответа.uriVariables: карта, содержащая переменные для шаблона URI.