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

Что будешь делать с запросами, которые не успевает обработать сервис

Для обработки запросов, которые сервис не успевает обрабатывать, можно использовать несколько стратегий:

  1. Очереди (например, RabbitMQ, Kafka)
    Запросы помещаются в очередь и обрабатываются асинхронно.
    java
    @RabbitListener(queues = "requests")
    public void handleRequest(Request request) {
        // обработка
    }
  1. Rate Limiting (например, через Resilience4j)
    Ограничиваем количество запросов в единицу времени.

    java
    RateLimiter limiter = RateLimiter.of("myService", 100); // 100 запросов/сек
  2. Отказ с HTTP 429 (Too Many Requests)
    Возвращаем клиенту статус, указывающий на перегрузку.

  3. Резервирование ресурсов (Bulkheading, Hystrix)
    Выделяем отдельный пул потоков для обработки запросов.

  4. Backpressure (реактивные подходы, Project Reactor)

    java
    Flux.range(1, 1000)
        .onBackpressureBuffer(100) // буферизация
        .subscribe(...);

Выбор зависит от требований: важна ли гарантия обработки (очередь) или допустим отказ (rate limiting).

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

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

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

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