O Que É Graceful Shutdown?
Graceful shutdown é a prática de dar a um processo a chance de concluir as requisições em andamento, esvaziar buffers e fechar conexões de forma limpa quando ele é solicitado a parar, em vez de encerrá-lo instantaneamente. Ele normalmente começa com um sinal SIGTERM, com um período de graça antes de um SIGKILL forçado. Bem feito, torna o scale-down e os deploys invisíveis para os usuários.
Por que isso importa
Quando uma instância é substituída durante um deploy ou scale-down, encerrá-la no meio de uma requisição descarta o tráfego do usuário e corrompe o trabalho. O graceful shutdown permite que ela drene primeiro: parar de aceitar novas requisições, terminar as atuais e então sair. Isso é um pré-requisito para deploys zero-downtime e para o desligamento limpo de runners efêmeros.
Conceitos relacionados
- Normalmente disparado por SIGTERM com um período de graça
- O connection draining para o tráfego novo durante o shutdown
- Habilita deploys zero-downtime e scale-down limpo