Interrompa o dano imediato limitando ou pausando o job em lote, e então separe as cargas para elas não competirem. Aponte o job em lote para uma réplica de leitura se ele for pesado em leitura, dê a ele um pool de conexões próprio com teto rígido, e divida o trabalho em pedaços com pausas para ele nunca monopolizar o banco. No longo prazo, reserve capacidade para o tráfego interativo e alerte sobre saturação do pool de conexões antes de os usuários notarem.
Por que os entrevistadores perguntam isso
Essa é uma pergunta de isolamento de recursos vestida de incidente. O entrevistador quer mitigação imediata seguida de correção estrutural, não só um limite maior de conexões. Ele procura se você entende que aumentar o máximo de conexões muitas vezes piora as coisas, e se você consegue distinguir qual carga deve ser sacrificada, já que o caminho interativo é quase sempre o que se protege.
Como estruturar sua resposta
- Mitigue primeiro limitando ou pausando o job problemático.
- Explique por que simplesmente aumentar o limite de conexões sai pela culatra.
- Separe as cargas estruturalmente, com réplicas e pools separados.
- Adicione reserva de capacidade e aviso antecipado de saturação.
Exemplo de resposta
Primeiro, estanque a hemorragia. Pause ou limite o job em lote, porque o caminho interativo é o que o cliente sente e o lote pode rodar uma hora depois sem ninguém se importar. A correção tentadora é aumentar o máximo de conexões, e isso normalmente piora, já que cada conexão tem custo de memória e de escalonamento e você acaba com um banco se debatendo em vez de um banco meramente ocupado. Então a correção real é isolamento. Se o job é pesado em leitura, ele vai para uma réplica de leitura, o que tira a carga do primário por completo. Ele ganha credenciais próprias e um pool próprio com teto rígido, dimensionado para que, mesmo totalmente saturado, sobre bastante folga para a API. E o job em si é dividido em pedaços, processando em lotes com uma pausa curta e um timeout de statement, em vez de uma transação enorme que segura locks e estoura o atraso de replicação. Depois a prevenção: alerte sobre utilização do pool e consultas de longa duração em um limiar que dispare antes de virar visível ao usuário, para a gente saber pelo monitoramento e não por tickets de suporte.
Vai encarar essa entrevista em breve? O GhostPilot escuta a sua chamada ao vivo, identifica a pergunta no instante em que ela é feita e coloca uma resposta estruturada na sua tela em tempo real. Teste na sua próxima entrevista simulada ou pegue um Session Pass de $29, sem assinatura, para a hora da verdade.
Veja como funcionaPerguntas de acompanhamento que você pode esperar
- E se o job em lote precisar escrever, então uma réplica não é opção?
- Como você dimensionaria os dois pools de conexão?
- Como um pooler de conexões na frente do banco muda isso?
Mais perguntas para Engenheiro de Nuvem
Seu entrevistador vai fazer a própria versão desta. Cole a descrição real da vaga no Question Predictor gratuito e receba as 20 perguntas que essa vaga tem mais chance de fazer, com o que cada uma está de fato sondando.
Prever minhas perguntas