nb intenção de design do aplicativo
Os comandos relacionados a nb app são essencialmente adaptações baseadas em diferentes métodos de gerenciamento de processos e, em seguida, unificados em um conjunto de entradas de gerenciamento de aplicativos estáveis. O objetivo é tentar convergir o uso mental durante a operação e manutenção diária para um conjunto de comandos.
Atualmente, os métodos de gerenciamento de processos de aplicativos suportados pela CLI incluem principalmente:
- Docker -PM2
Se precisarmos suportar mais métodos no futuro, como o Supervisor, continuaremos a fazer adaptações nesta camada. A entrada de comando de alta frequência exposta ao mundo exterior permanece a mesma:
Por que deveríamos unificá-lo em nb app
O gerenciamento de processos pode ser implementado de várias maneiras, mas para a maioria dos usuários, o que realmente importa não é o que é usado na camada inferior, mas as ações específicas de "Quero iniciar o aplicativo", "Quero ler o log" e "Quero atualizar o aplicativo".
Se as diferenças subjacentes forem expostas diretamente, os usuários precisam primeiro determinar qual modo operacional estão usando no momento e, em seguida, lembrar o conjunto correspondente de métodos operacionais. Após serem unificadas em nb app, essas ações de alta frequência podem convergir para um conjunto de entradas estáveis.
Reduza os custos de aprendizagem
Diferentes soluções de gerenciamento de processos operam de maneiras diferentes:
- Docker possui o sistema de comando do Docker
- PM2 possui sistema de comando PM2
- O Supervisor também possui seu próprio método de configuração
Se essas diferenças forem expostas diretamente, os usuários precisarão aprender vários métodos de uso e será mais fácil perder etapas importantes em cenários de alta frequência, como atualizações, reinicializações e solução de problemas de log.
Após a unificação como nb app, a maior parte do gerenciamento diário requer apenas o domínio de um conjunto de comandos.
Unifique processos de negócios
O gerenciamento do ciclo de vida do aplicativo não envolve apenas o gerenciamento de processos.
Em processos como inicialização, atualização e parada, a CLI geralmente precisa lidar com lógica adicional, como:
- Inspeção ambiental
- Processamento de configuração
- Migração de dados
- Atualização de versão
- Gerenciamento de registros
Ao usar nb app como entrada unificada, você pode garantir que os comportamentos desses processos sejam consistentes. Se você continuar a expandir suas capacidades no futuro, não precisará reaprender uma nova operação e manutenção.
Por que nb app autostart ainda é necessário?
Depois de ter uma entrada unificada de gerenciamento de processos, outra camada de capacidade de "gerenciamento de inicialização automática" precisa ser adicionada para completar todo o processo. É por isso que nb app autostart existe.
O uso comum é:
O foco deste conjunto de ordens é continuar a manter a unidade externamente. Em outras palavras, na mente do usuário nesta camada de nb app, você não precisa se preocupar se a camada inferior é Docker, PM2 ou outros métodos que possam ser suportados no futuro. O método de operação unificada externa ainda é semelhante a:
run A que essa camada se adapta?
nb app autostart também está dividido em dois níveis de responsabilidades:
enable/disablesão responsáveis por gerenciar se um determinado ambiente permite inicialização automáticaruné responsável por puxar todos os ambientes que possuem inicialização automática habilitada durante a fase de inicialização do sistema.
Em outras palavras, a CLI também fornecerá uma entrada run unificada para fornecer acesso ao mecanismo de inicialização automática do sistema:
O que é adaptado aqui são os mecanismos de inicialização do sistema, como systemd, launchd, e scripts de inicialização do host, e não os gerenciadores de processos de aplicativos, como o Supervisor.
Geral
- Os comandos relacionados a
nb appsão essencialmente uma camada de adaptação sobre diferentes métodos de gerenciamento de processos. Após serem unificados externamente, podem reduzir a confusão mental do usuário. - A implementação do gerenciamento de processos pode ser Docker, PM2, Supervisor, etc. Atualmente, Docker e PM2 são suportados
- Como as configurações de inicialização automática de diferentes métodos de gerenciamento de processos são diferentes, é necessário um conjunto unificado de recursos
nb app autostartpara que todo o processo seja concluído.
Se quiser continuar a ver as operações diárias, você pode ir diretamente para Gerenciar aplicativo. Se você estiver pronto para implantar o aplicativo no ambiente formal, poderá continuar consultando Implantação do ambiente de produção.

