Множественные микросервисы и их связь - PullRequest
0 голосов
/ 20 апреля 2020

У меня есть микросервисы A, B, C, D до Z.

Предположим, что микросервис A хочет установить связь с остальными микросервисами, чем как мы можем это сделать?

Ответы [ 2 ]

0 голосов
/ 20 апреля 2020

Если вы ищете реестр сервисов, вы можете использовать Eureka:

Регистрация и обнаружение сервисов

Это руководство проведет вас через процесс запуска и использования Реестр сервисов Netflix Eureka.

Что вы создадите

Вы настроите реестр сервисов Netflix Eureka, а затем создадите клиент, который одновременно регистрируется в реестре и использует его. это разрешить свой собственный хост. Реестр сервисов полезен, потому что он позволяет балансировать нагрузку на стороне клиента и разъединяет поставщиков услуг от потребителей без необходимости использования DNS.

https://spring.io/guides/gs/service-registration-and-discovery/

0 голосов
/ 20 апреля 2020

Это руководство проведет вас через процесс создания приложения, которое использует веб-сервис RESTful.

https://spring.io/guides/gs/consuming-rest/

Что вы создадите:

Вы создадите приложение, которое использует RestTemplate Spring для получения случайной цитаты Spring Boot по адресу https://gturnquist-quoters.cfapps.io/api/random.

Краткое описание:

Используйте RestTemplate для обработки http-вызова rest.

RestTemplate - это синхронный клиент для выполнения HTTP-запросов, предоставляющий простой API-метод шаблона для базовых клиентских библиотек HTTP, таких как JDK HttpURLConnection, Apache HttpComponents и другие. RestTemplate предлагает шаблоны для общего сценария ios по методу HTTP, в дополнение к обобщенным методам обмена и выполнения, которые поддерживают менее частые случаи.

Пример из руководства:

package com.example.consumingrest;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.boot.CommandLineRunner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.client.RestTemplateBuilder;
import org.springframework.context.annotation.Bean;
import org.springframework.web.client.RestTemplate;

@SpringBootApplication
public class ConsumingRestApplication {

    private static final Logger log = LoggerFactory.getLogger(ConsumingRestApplication.class);

    public static void main(String[] args) {
        SpringApplication.run(ConsumingRestApplication.class, args);
    }

    @Bean
    public RestTemplate restTemplate(RestTemplateBuilder builder) {
        return builder.build();
    }

    @Bean
    public CommandLineRunner run(RestTemplate restTemplate) throws Exception {
        return args -> {
            Quote quote = restTemplate.getForObject(
                    "https://gturnquist-quoters.cfapps.io/api/random", Quote.class);
            log.info(quote.toString());
        };
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...