Olá!
Estou passando um problema em produção, onde uma serviço que fazemos o oAuth está bloqueando as threads e está derrubando o sistema em um curto período de tempo. Alguém já passou por alguma coisa parecida?
Qual o problema de fato? Muitas requisições passam pelo fluxo de oauth (que imagino que seja síncrono) e todas as threads ficam bloqueadas porque alguma chamada externa não responde? Ou é outra coisa?
O que você quer dizer com “derrubando o sistema”? A JVM morre? Os recursos do pod são exauridos e o pod morre? Como é o thread pool da aplicação que serve esse fluxo, é fixo ou elástico? Dá mais detalhes aí que facilita ajudar!
Tem até que um numero razoável de requisições que passa pelo oAuth, mas não é um número absurdo que explique esse comportamento, no pico chega a 68 requisições por segundo, essa chamada externa é realizada somente uma vez quando o usuário se loga. Depois disso a autenticação é interna. E as chamadas não são demoradas, pelo que vi elas não passam de 200ms para responder.
Quando o sistema cai a JVM morre sim, já o número máximo de threads está fixo para 400. E ela cai quando o número de threads bloqueado bate no pico de número de threads.