Все работает нормально при стабильном трафике.
Однако во время внезапных всплесков автомасштабирования исходящие запросы случайным образом завершаются с ошибкой TaskCanceledException/HttpRequestException, даже если нижестоящая служба остается работоспособен.
Уменьшение PooledConnectionLifetime снижает частоту сбоев, но значительно увеличивает нагрузку на ЦП и TLS.
Код: Выделить всё
builder.Services.AddHttpClient("api")
.ConfigurePrimaryHttpMessageHandler(() =>
new SocketsHttpHandler
{
EnableMultipleHttp2Connections = false,
PooledConnectionLifetime = TimeSpan.FromMinutes(20),
MaxConnectionsPerServer = 500
});