Gerenciar e dimensionar aplicativo Java no Heroku

Exibir seus registros de aplicativos do Heroku

O Heroku trata os registros como fluxos de eventos ordenados por tempo agregados a partir da saída do seu aplicativo e dos componentes do Heroku que o executam. O resultado é um só canal para todos os eventos de registro. Você pode exibir a saída de registros do aplicativo que criou na unidade anterior, executando o comandoheroku logs --tail.

heroku logs --tail

Exemplo de registros de aplicativos do Heroku

Deixe este comando em execução e acesse seu aplicativo no navegador novamente executando heroku open em outra sessão de terminal (ou simplesmente atualize a página da Web se ela ainda estiver aberta). Uma mensagem de registro será gerada sempre que você visitar a página.

Pressione Ctrl+C para interromper o fluxo de registros.

Inspecionar os processos do seu aplicativo

No momento, seu aplicativo está sendo executado em um único dyno Web. Um dyno é um contêiner leve que executa o comando especificado no Procfile de um aplicativo, que é um arquivo de texto no diretório raiz do seu aplicativo. O Procfile é usado para declarar explicitamente qual comando deve ser executado para iniciar seu aplicativo. O Procfile no aplicativo de exemplo que você implantou é exibido aqui.

web: java -jar target/java-getting-started-1.0.jar

Você pode verificar quantos dynos Web está executando usando o comando heroku ps.

heroku ps

Saída do heroku ps

Por padrão, seu aplicativo é implantado em um dyno gratuito. Os dynos gratuitos entram em repouso após meia hora de inatividade (se não receberem nenhum tráfego). Isso causa um atraso de alguns segundos na primeira solicitação após sair do repouso. As solicitações seguintes têm desempenho normal. Os dynos gratuitos também são consumidos de uma cota mensal, ao nível da conta, de horas de dynos gratuitos. Desde que a cota não seja esgotada, todos os aplicativos gratuitos podem continuar sendo executados.

Para evitar que o dyno entre em repouso, você pode atualizar para um dyno do tipo hobby ou profissional, conforme descrito no artigo Tipos de dyno. Por exemplo, se você migrar seu aplicativo para um dyno profissional, você pode facilmente dimensioná-lo executando um comando para que o Heroku execute um número específico de dynos, cada qual executando seu tipo de processo da Web.

Dimensionar seu aplicativo

Dimensionar um aplicativo no Heroku equivale a alterar o número de dynos em execução. Isso é importante para garantir a redundância (caso um processo trave, ainda há outro que pode transmitir solicitações) ou caso você esteja recebendo mais tráfego do que um só dyno é capaz de suportar (o que é um excelente problema).

Primeiro, dimensione o número de dynos Web para zero.

heroku ps:scale web=0

Acesso o aplicativo novamente clicando em atualizar na página da Web ou execute heroku open para abri-lo em uma guia do navegador. Você receberá uma mensagem de erro, pois não tem mais nenhum dyno Web disponível para transmitir solicitações.

Agora, dimensione novamente o aplicativo.

heroku ps:scale web=1

Para evitar o uso indevido, dimensionar um aplicativo não gratuito para mais de um dyno requer uma verificação de conta.

Executar tarefas administrativas

Algumas tarefas de aplicativo requerem a execução de uma tarefa única na linha de comando. Você pode executar essas tarefas, que são geralmente scripts incluídos em seu aplicativo, usando um dyno único por meio do comando heroku run. Ele também pode ser usado para iniciar um REPL ou processo de console anexado ao seu terminal local para fazer testes no ambiente do seu aplicativo ou executar código que você implantou com seu aplicativo. Neste exemplo, usaremos o comando heroku run bash.

heroku run bash

Saída do heroku run bash

Se você receber o erro, “Error connecting to process” (Erro ao conectar com o processo), talvez precise configurar seu firewall.

Não se esqueça de digitar exit para sair do shell e encerrar o dyno.

Clique em Verify Step (Verificar etapa) para ir à próxima etapa do projeto.

Recursos

Continue a aprender de graça!
Inscreva-se em uma conta para continuar.
O que você ganha com isso?
  • Receba recomendações personalizadas para suas metas de carreira
  • Pratique suas habilidades com desafios práticos e testes
  • Monitore e compartilhe seu progresso com os empregadores
  • Conecte-se a orientação e oportunidades de carreira