Este documento foi traduzido por IA. Para informações precisas, consulte a versão em inglês.
O modo de múltiplas aplicações em memória compartilhada possui vantagens óbvias na implantação e operação, mas com o aumento do número de aplicações e da complexidade do negócio, uma única instância pode enfrentar gradualmente problemas como disputa de recursos e queda de estabilidade. Para esses cenários, os usuários podem adotar uma solução de implantação híbrida multiambiente para suportar requisitos de negócios mais complexos.
Neste modo, o sistema implanta uma aplicação de entrada como centro unificado de gerenciamento e agendamento, enquanto implanta várias instâncias do NocoBase como ambientes de execução de aplicações independentes, responsáveis por carregar as aplicações de negócio reais. Cada ambiente é isolado entre si e trabalha de forma colaborativa, dispersando efetivamente a pressão de uma única instância e melhorando significativamente a estabilidade, escalabilidade e capacidade de isolamento de falhas do sistema.
No nível de implantação, diferentes ambientes podem ser executados em processos independentes, implantados como diferentes contêineres Docker ou na forma de múltiplos Deployments do Kubernetes, sendo capazes de se adaptar de forma flexível a ambientes de infraestrutura de diferentes escalas e arquiteturas.
No modo de implantação híbrida multiambiente:
Atualmente, a função de criação de ambiente ainda não é fornecida; cada aplicação de trabalho precisa ser implantada manualmente e configurada com as informações de ambiente correspondentes antes de poder ser identificada pela aplicação de entrada.
Antes da implantação, prepare os seguintes serviços:
Redis
Banco de dados
A aplicação de entrada atua como centro de gerenciamento unificado, responsável pela criação, inicialização, interrupção de aplicações e agendamento de ambientes, bem como pelo proxy de acesso às aplicações.
Explicação da configuração das variáveis de ambiente da aplicação de entrada:
A aplicação de trabalho atua como o ambiente de execução real do negócio, responsável por carregar e executar instâncias específicas de aplicações NocoBase.
Explicação da configuração das variáveis de ambiente da aplicação de trabalho:
O exemplo a seguir mostra uma solução de implantação híbrida multiambiente usando contêineres Docker como unidades de execução, implantando simultaneamente uma aplicação de entrada e duas aplicações de trabalho via Docker Compose.
As operações básicas de gerenciamento de aplicações são as mesmas do modo de memória compartilhada; consulte o Modo de Memória Compartilhada. Esta seção apresenta principalmente o conteúdo relacionado à configuração multiambiente.
Após a conclusão da implantação, acesse a página "Gerenciador de Aplicações" da aplicação de entrada. Na aba "Ambientes", você pode visualizar a lista de ambientes de trabalho registrados. Isso inclui o identificador do ambiente, a versão da aplicação de trabalho, a URL de acesso e o status, entre outras informações. A aplicação de trabalho envia um batimento cardíaco (heartbeat) a cada 2 minutos para garantir a disponibilidade do ambiente.

Ao criar uma aplicação, você pode selecionar um ou mais ambientes de execução para especificar em quais aplicações de trabalho essa aplicação será implantada. Em circunstâncias normais, recomenda-se selecionar apenas um ambiente. Selecione múltiplos ambientes apenas quando a aplicação de trabalho tiver realizado a divisão de serviços e for necessário implantar a mesma aplicação em múltiplos ambientes de execução para alcançar o compartilhamento de carga ou isolamento de capacidades.

A página da lista de aplicações exibirá o ambiente de execução atual e as informações de status de cada aplicação. Se a aplicação for implantada em múltiplos ambientes, múltiplos status de execução serão exibidos. Em condições normais, a mesma aplicação em múltiplos ambientes manterá um status unificado, exigindo controle unificado para iniciar e parar.

Como a inicialização da aplicação pode gravar dados de inicialização no banco de dados, para evitar condições de corrida em múltiplos ambientes, as aplicações implantadas em múltiplos ambientes entrarão em uma fila para inicialização.

As aplicações de trabalho podem ser acessadas via proxy através do subcaminho /apps/:appName/admin da aplicação de entrada.

Se a aplicação for implantada em múltiplos ambientes, é necessário especificar um ambiente de destino para o acesso via proxy.

Por padrão, o endereço de acesso via proxy utiliza o endereço de acesso da aplicação de trabalho, correspondente à variável de ambiente ENVIRONMENT_URL. Certifique-se de que este endereço seja acessível no ambiente de rede onde a aplicação de entrada está localizada. Se for necessário usar um endereço de acesso via proxy diferente, ele pode ser sobrescrito através da variável de ambiente ENVIRONMENT_PROXY_URL.