Nacos multi-ambiente de gestão
O conceito de gestão multi-ambiente Nacos existir, o que Data ID
, Group
, Namespace
que relação hierárquica entre si consegue configurar vários ambientes.
A seguir, apresente vários métodos de configuração:
use Data ID
andprofiles
Data ID
deployment :: Nacos, pode ser entendido como o nome do arquivo de configuração do aplicativo Spring Cloud. Data ID
O formato do nome é o seguinte: ${spring.application.name}.properties
De fato, Data ID
as regras também incluem a lógica do ambiente, a inicialização do aplicativo pode spring.profiles.active
ser especificada especificando o nome do ambiente específico e a configuração do cliente correspondente é: ${spring.application.name}-${spring.profiles.active}.properties
Nota: A configuração padrão do Spring-could é: ${spring.cloud.nacos.config.prefix}-${spring.profile.active}.${spring.cloud.nacos.config.file-extension}
e acima O que escrevemos: ${spring.application.name}-${spring.profiles.active}.properties
porque:
${spring.cloud.nacos.config.prefix}
e ${spring.cloud.nacos.config.file-extension}
ambos usam os valores padrão
Prática
A primeira etapa: primeiro, no Nacos, de acordo com esta regra, crie dois conteúdos diferentes de configuração do ambiente. Por exemplo:
Etapa 2: alibaba-nacos-config-client
adicione a configuração do ambiente no arquivo de configuração do aplicativo: spring.profiles.active=DEV
Etapa 3: Inicie o aplicativo, podemos ver que o log é impresso e o arquivo de configuração carregado:
### A Group
implementação
Group
é usada no Nacos para Data ID
Como um conceito importante de gerenciamento de coleção, podemos considerá-lo GROUP
como uma coleção de ambientes, por exemplo, o aplicativo A pertence a um GROUP-A
e o aplicativo B pertence GROUP-B
. Não GROUP
há um requisito fixo para o uso , principalmente porque precisamos usá-lo de acordo com nossas necessidades específicas no uso real.Pode ser o gerenciamento de vários ambientes na operação e manutenção da arquitetura ou o gerenciamento de parâmetros de diferentes módulos nos negócios.
A primeira etapa: primeiro, no Nacos, crie dois conteúdos de configuração de ambiente diferentes, distinguindo o grupo. Por exemplo:
como mostrado acima, os data id
nomes são iguais, mas group
diferentes.
Segundo passo: No alibaba-nacos-config-client
arquivo de configuração do aplicativo, designado Grupo aumentando recurso set: spring.cloud.nacos.config.group=DEV_GROUP
..
Etapa 3: inicie o aplicativo, podemos ver o arquivo de configuração carregado e impresso no log:
Use para Namespace
alcançar
O NameSpace é um isolamento de alta granularidade, que pode isolar o mencionado acima DATA ID
GROUP
, ou seja, a mesma DATA ID
soma pode existir em diferentes namespaces.Um GROUP
dos cenários comuns do Namespace é a diferenciação da configuração de diferentes ambientes, por exemplo: ambiente de teste de desenvolvimento É isolado dos recursos (como configuração e serviços) do ambiente de produção.
Etapa 3:
adicione a configuração especificada do Namespace ao arquivo de configuração do aplicativo alibaba-nacos-config-client , por exemplo: spring.cloud.nacos.config.namespace=83eed625-d166-4619-b923-93df2088883a
Nota: namespace
A configuração não usa o nome, mas o ID do Namespace.
Prós e contras
Use várias latitudes diferentes na função de gerenciamento de configuração do Nacos para obter um gerenciamento de configuração em vários ambientes. Em termos de resultados, independentemente do método usado, ele será capaz de atender às necessidades, mas qual é o melhor?
O primeiro tipo: por meio de ID e perfil de dados.
- Vantagens: Este método é muito semelhante à implementação do Spring Cloud Config. Os usuários que usaram o Spring Cloud Config podem fazer a transição sem violação.Como as regras de nomenclatura são semelhantes, também é muito simples migrar do Spring Cloud Config.
- Desvantagens: dessa maneira, quando houver muitos projetos e ambientes, o conteúdo da configuração será muito confuso. Você verá vários aplicativos na lista de configurações e as configurações de diferentes ambientes estão interligadas, o que não é propício ao gerenciamento.
- Sugestão: use-a quando não houver muitos projetos, ou você pode combinar o Grupo para fazer um planejamento dividido com base na estrutura organizacional ou de negócios.
O segundo tipo: através da Group
realização.
- Vantagens:
Group
Isole a configuração de cada aplicativo por ambiente. Pode ser muito fácil de usarData ID
eGroup
funções de pesquisa, respectivamente, a partir da latitude ambiente de aplicação e latitude para exibir a configuração. - Desvantagens: Como ocupará a latitude do grupo, é necessário planejar o uso do grupo, afinal, ele entra em conflito com alguns grupos de configuração do negócio.
- Sugestão: Embora essa estrutura seja melhor que a anterior, ainda pode haver alguma confusão, principalmente na gestão e no planejamento do Grupo.
O terceiro tipo: através da Namespace
realização.
- Vantagens: A maneira oficialmente recomendada de distinguir diferentes ambientes por meio do Namespace libera a liberdade do Group, que permite que o Group se concentre no gerenciamento de grupos no nível de negócios. Ao mesmo tempo, o espaço para nome também é agrupado e exibido na página de controle do Nacos.Você pode isolar diferentes configurações do ambiente sem pesquisar, o que é muito fácil de usar.
Nota: Para a configuração relacionada: spring.profiles.active=DEV
spring.cloud.nacos.config.group=DEV_GROUP
spring.cloud.nacos.config.namespace=83eed625-d166-4619-b923-93df2088883a
Não escreva a configuração no arquivo bootstrap.properties do aplicativo.Não é flexível.No comando de inicialização do script release, -Dspring.profiles.active=DEV
ele é especificado dinamicamente de uma maneira que será mais flexível! .