Как эффективно управлять несколькими конфигурациями WebClient в архитектуре микросервисов Spring Boot?JAVA

Программисты JAVA общаются здесь
Anonymous
Как эффективно управлять несколькими конфигурациями WebClient в архитектуре микросервисов Spring Boot?

Сообщение Anonymous »

Я работаю над проектом микросервисов с использованием Spring Boot, и у меня есть несколько сервисов, которым необходимо взаимодействовать друг с другом. В настоящее время у меня есть следующие услуги:
  • Обслуживание сотрудников
  • Обслуживание отдела
    < li>Служба проекта.
В Службе сотрудников мне нужно вызывать конечные точки как из Службы отдела, так и из Службы проектов, используя WebClient. Первоначально я создал отдельные bean-компоненты WebClient для каждой службы, например:

Код: Выделить всё

@Autowired
private LoadBalancedExchangeFilterFunction filterFunction;

@Bean
public WebClient departmentWebClient() {
return WebClient.builder()
.baseUrl("http://department-service")
.filter(filterFunction)
.build();
}

@Bean
public DepartmentClient departmentClient() {
HttpServiceProxyFactory httpServiceProxyFactory
= HttpServiceProxyFactory
.builder(WebClientAdapter.forClient(departmentWebClient()))
.build();
return httpServiceProxyFactory.createClient(DepartmentClient.class);
}

@Bean
public WebClient projectWebClient() {
return WebClient.builder()
.baseUrl("http://project-service")
.filter(filterFunction)
.build();
}

@Bean
public TaskClient taskClient() {
HttpServiceProxyFactory httpServiceProxyFactory
= HttpServiceProxyFactory
.builder(WebClientAdapter.forClient(projectWebClient()))
.build();
return httpServiceProxyFactory.createClient(TaskClient.class);
}

Хотя это и работает, по мере увеличения количества сервисов это кажется неэффективным и громоздким. Я ищу лучший и более гибкий подход, если это возможно.
Может ли кто-нибудь подсказать мне, как лучше всего добиться этого, возможно, с помощью примеров кода?

Подробнее здесь: https://stackoverflow.com/questions/785 ... g-boot-mic

Вернуться в «JAVA»