Не могу сделать оптимальные настройки, упираюсь все время в тяжелую работу GC и увеличивающееся latency входящих запросов в сам сервис
circuit breaker не про latency, эту проблему другими средствами решать надо
Я знаю. Идея как обычна ограничиь количество запрмов к внешнему сервису, но когда он начинает работать нагружается коллектор и растет общее время обработки всех запросов. Или я ошибся в конфигурации или мне сам паттерн не нужен при такой высокой нагрузке
И опять - ограничение количества запросов это не circuit breaker, тебе нужен rate limiter
У тебя какой стек сейчас?
Мне не нужно ограничить кол во запросов. Мне нужно ограничить количество запросов моего сервиса ко внешнему когда внешний перестает отвечать. У меня спринг и реактивный клиент. По мне так лучше ограничить выпуск элементов в реактивном клиенте через timeout но насальству вперся этот circuit breaker. Я пробовал конфигурировать sluding window size но все время вижу в метриках что коллектор тяжело работает из за буферизированных по видимому запросов брейкера и общее время обработанных запросов растет пропорционально
А реактивный у тебя только клиент или весь код?
Весь код. Клиент включает ответ через flatMap в общую реактивную колбасу
тебе надо back presure сделать, только в вебфлаксе с этим не очень
ну и надо проанализировать почему растет время обработки
Обсуждают сегодня