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

Какие знаешь варианты общения между сервисами

  1. HTTP/REST – самый распространённый, основан на HTTP-запросах (GET, POST и т.д.).

    java
    @RestController
    public class UserController {
        @GetMapping("/users/{id}")
        public User getUser(@PathVariable Long id) {
            return userService.findById(id);
        }
    }
  2. RPC (Remote Procedure Call) – вызов методов удалённого сервиса, как локальных. Примеры: gRPC, Apache Thrift.

    java
    // gRPC пример (протобуф)
    service UserService {
        rpc GetUser (UserRequest) returns (UserResponse);
    }
  1. Message Queues (Kafka, RabbitMQ, ActiveMQ) – асинхронное взаимодействие через брокеры сообщений.

    java
    // Kafka Producer
    producer.send(new ProducerRecord<>("topic", "key", "message"));
  2. WebSockets – двустороннее соединение для real-time коммуникации (чаты, уведомления).

  3. GraphQL – альтернатива REST, клиент сам определяет структуру ответа.

  4. gRPC – высокопроизводительный RPC-фреймворк от Google (бинарный протокол).

  5. Event-Driven (Apache Camel, Spring Cloud Stream) – реактивная модель на событиях.

Выбор зависит от требований: latency, throughput, сложности интеграции и согласованности данных.

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

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

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

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