Pular para o conteúdo principal

Serviços

Um serviço é uma unidade que executa dentro de um projeto. Um projeto simples tem um só; um projeto maior combina vários.

Os quatro tipos​

TipoO que fazEndereço público
Aplicação webRecebe requisições da internet no endereço público do projetoSim
Serviço internoResponde apenas a outros serviços do projetoNão
Processo contínuoExecuta continuamente sem receber requisições — consome fila, processa eventoNão
Tarefa agendadaExecuta nos horários definidos e termina a cada execuçãoNão

A escolha do tipo não é cosmética: ela decide se o serviço recebe tráfego, se tem endereço, se é medido por requisição e como a plataforma julga que ele está saudável.

Aplicação web​

É o tipo mais comum e o que o início rápido cria. A aplicação precisa escutar em 0.0.0.0, na porta indicada pela variável PORT do ambiente (padrão 8080). É assim que a plataforma verifica que ela subiu: uma instância está pronta quando aceita conexão nessa porta, e só então passa a receber tráfego. Ver Como a aplicação roda.

Um projeto tem um endereço canônico, servido pela aplicação web principal. Se houver mais de uma, as demais recebem endereços próprios. Cada serviço tem um endereço público; trocá-lo libera o anterior. Ver Endereço do projeto.

Serviço interno​

Idêntico à aplicação web, com uma diferença: não recebe tráfego da internet. Ele responde só a outros serviços do mesmo projeto. Use quando um componente precisa ser alcançável por HTTP, mas não deve estar exposto.

Processo contínuo​

Não recebe requisições. Sobe, executa e continua executando — consumindo uma fila, processando eventos, mantendo uma conexão. Não tem endereço, e por isso não aparece em métricas de tráfego: o que se mede nele é consumo.

Tarefa agendada​

Executa nos horários definidos e termina a cada execução. O console mostra o agendamento em português — "todo dia às 03:00" — e a expressão técnica fica nos detalhes, identificada como tal.

Quando um agendamento não pode ser descrito em português com segurança, o console diz que não conseguiu descrevê-lo em vez de chutar um horário. Um horário errado em uma tarefa agendada faz alguém planejar manutenção em cima de uma execução.

Réplicas e recursos​

Cada serviço declara quanto reserva e até onde pode crescer:

  • Reservado — o que o serviço tem garantido.
  • Máximo — o teto que ele pode encostar.
  • Uso atual — a última amostra medida, com a idade dela.

Serviços que não declaram nada usam o padrão da plataforma, e o console diz explicitamente quando é esse o caso. Ver Recursos e limites.

O que a plataforma decide por você​

Estratégia de atualização, verificação de saúde, política de reinício, usuário do processo, isolamento de rede e cota são decididos em um lugar só, com o mesmo padrão para todos os projetos. Isso não é uma limitação temporária: é o que permite que a plataforma prometa o mesmo comportamento a todo mundo.

Próximos passos​