C# (C Sharp) programming: post #1860 — TG.ME

🚀 .NET 8: как сделать микросервисы устойчивыми с Resilience Pipelines + DI

В распределённых системах ошибки — это не исключение, а реальность:

API временно недоступен
сеть дала сбой
сервис перегружен
внешний провайдер отвечает слишком долго

В .NET 8 это стало намного проще благодаря Microsoft.Extensions.Resilience (на базе Polly).

Можно собрать свой ResiliencePipeline и добавить в DI один раз:

Retry — повторить запрос
Timeout — ограничить время ожидания
Circuit Breaker — остановить поток ошибок
Fallback — вернуть запасной результат
Rate Limiter — защитить сервис
Hedging — отправить альтернативный запрос

Главный плюс — не нужно настраивать защиту в каждом месте кода.

Создаёшь pipeline → регистрируешь через DI → используешь где нужно:


var user = await pipeline.ExecuteAsync(
async token => await httpClient.GetAsync("api/users", token)
);


Чистый код, единая стратегия обработки ошибок и меньше боли при росте микросервисов.

Если пишете на C# и строите production-системы — Resilience Pipelines стоит добавить в свой toolbox. ⚙️
August 26, 2026 2.3K 1 42