Встречается на собеседованиях • сегодня

Какие знаешь способы отправки запроса из одного микросервиса в другой

В Java есть несколько способов взаимодействия между микросервисами:

  1. HTTP/REST (наиболее распространённый):
java
// Используя Spring RestTemplate
RestTemplate restTemplate = new RestTemplate();
String response = restTemplate.getForObject("http://service-b/api/data", String.class);
  1. Feign Client (удобная абстракция над REST):
java
@FeignClient(name = "service-b")
public interface ServiceBClient {
    @GetMapping("/api/data")
    String getData();
}
  1. gRPC (бинарный протокол, высокая производительность):
java
// Генерируется из .proto файла
ServiceBGrpc.ServiceBBlockingStub stub = ServiceBGrpc.newBlockingStub(channel);
Response response = stub.getData(Request.newBuilder().build());
  1. Асинхронная коммуникация (через брокеры сообщений):
  • RabbitMQ, Kafka
  • Использование Spring Cloud Stream
  1. GraphQL (для сложных запросов с клиент-определяемыми полями)

Выбор зависит от требований: REST прост в реализации, gRPC даёт лучшую производительность, а брокеры сообщений обеспечивают слабую связность.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы