minhas informações de contato
Correspondência[email protected]
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Já aprendi a usar o Nacos como centro de registro. Nesta seção, aprenderemos outra função principal do Nacos:配置中心
。
Nacos é uma plataforma fácil de usar para descoberta dinâmica de serviços e gerenciamento de configuração. Como centro de configuração, o Nacos oferece as seguintes funções e vantagens principais:
Gerenciamento de configuração dinâmica: Nacos permite que os usuários modifiquem e enviem informações de configuração dinamicamente sem reiniciar o serviço, obtendo atualizações de configuração em tempo real.
Configurar armazenamento centralizado: O Nacos fornece um armazenamento de configuração centralizado, facilitando o gerenciamento e a manutenção das informações de configuração e evitando o problema de dispersão da configuração em diferentes ambientes e sistemas.
Configurar o controle de versão: Nacos oferece suporte ao controle de versão de configuração, que pode rastrear o histórico de alterações de configuração e facilitar as operações de reversão.
Configurar o compartilhamento: o Nacos permite o compartilhamento de configuração entre serviços, melhorando a capacidade de reutilização da configuração e reduzindo a redundância.
Configurar o isolamento: Por meio do conceito de namespace, o Nacos oferece suporte ao isolamento de configuração de diferentes ambientes (como desenvolvimento, teste e produção) para garantir que as configurações entre ambientes não interfiram entre si.
Configurar escuta e envio: Nacos fornece uma função de monitoramento de configuração quando a configuração muda, ele pode enviar atualizações ativamente para o cliente para obter atualização a quente da configuração.
segurança: Nacos suporta controle de acesso à configuração e gerenciamento de permissões para garantir que apenas usuários autorizados possam acessar ou modificar configurações.
Suporte a vários ambientes: Nacos oferece suporte a uma variedade de ambientes de implantação e pode atender ao gerenciamento de configuração de diferentes escalas e necessidades.
Integre com Spring Cloud: O Nacos está totalmente integrado ao Spring Cloud e fornece spring-cloud-starter-alibaba-nacos-config e outros componentes, simplificando o processo de uso do centro de configuração do Nacos em aplicativos Spring Cloud.
Fácil de usar: Nacos fornece uma interface de usuário amigável, tornando a visualização, modificação e gerenciamento de configurações intuitivas e simples.
Como centro de configuração, o Nacos é adequado para arquitetura de microsserviços, aplicativos nativos da nuvem e sistemas distribuídos que exigem gerenciamento dinâmico de configuração. Ao gerenciar centralmente as configurações, o Nacos ajuda as empresas a melhorar a eficiência e a segurança do gerenciamento de configurações, ao mesmo tempo que simplifica o trabalho de desenvolvimento, operação e manutenção.
As instruções de uso estão registradas detalhadamente na documentação oficial, clique para visualizar a documentaçãohttps://nacos.io/zh-cn/docs/v2/ecology/use-nacos-with-spring-cloud.html。
Para usar o centro de configuração, primeiro você deve adicionar dependências.
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
No projeto Guli Mall, como todos os serviços devem utilizar o centro de configuração do Nacos, esta dependência é adicionada ao módulo comum.
No diretório de recursos do projeto ou módulo, declare o endereço e o nome do serviço do servidor Nacos em bootstrap.properties.
spring.cloud.nacos.config.server-addr=127.0.0.1:8848
spring.application.name=gulimall-coupon
Após clicar em Criar Configuração, a seguinte página aparecerá.
existir Nacos Spring Cloud
meio,Data Id
O formato completo é o seguinte:
${prefix}-${spring.profiles.active}.${file-extension}
prefix
O padrão éspring.application.name
O valor também pode ser passado através do item de configuraçãospring.cloud.nacos.config.prefix
para configurar.spring.profiles.active
Ou seja, correspondendo ao ambiente atualprofile
, consulte a documentação do Spring Boot para obter detalhes. Nota: quandospring.profiles.active
Quando estiver vazio, o conector correspondente - não existirá e o formato de emenda do dataId se tornará${prefix}.${file-extension}
file-exetension
Para configurar o formato dos dados do conteúdo, você pode passar o item de configuraçãospring.cloud.nacos.config.file-extension
para configurar.Atualmente só suportaproperties
eyaml
tipo.Primeiro colocamos as informações no arquivo de configuração do projeto e configuramos as seguintes informações no arquivo de configuração application.properties do módulo de cupom:
coupon.user.name=lcy
coupon.age=22
Adicione um método no Controlador para usar as informações de configuração no arquivo de configuração.
@Value("${coupon.user.name}")
private String userName;
@Value("${coupon.user.age}")
private String userAge;
@RequestMapping("test")
public R test(){
return R.ok().put("name", userName).put("age", userAge);
}
Observe que no código acima, injetamos a configuração do arquivo de configuração na variável de classe por meio da anotação @Value e depois a referenciamos no método.
Após iniciar o serviço, digite o seguinte endereço em seu navegador.
http://localhost:7000/coupon/coupon/test
A saída é a seguinte, indicando que as informações do arquivo de configuração foram lidas.
Tome o serviço de cupom como exemplo para configurar.
Clique no botão editar no lado direito da lista de arquivos de configuração para entrar na interface de edição.
Observe que para esclarecer a diferença e a conexão entre o arquivo de configuração do centro de configuração e o arquivo de configuração local, não excluímos a configuração local na etapa anterior.
Atualmente, existe apenas uma configuração definida no centro de configuração. Esta configuração também está disponível na configuração local, mas o valor é diferente.coupon.user.name=lcy
, o centro de configuração écoupon.user.name=lcy2
。
Atualize o navegador após reiniciar o serviço. Os resultados são os seguintes.
Obviamente, o valor de name é obtido do centro de configuração e não do arquivo de configuração local.O valor no centro de configuração substituirá o valor no arquivo de configuração local.。