Nacos——Introdução ao Nacos e instalação do Nacos Server

Fonte: 02-Nacos Configuration Management - O que é Centro de Configuração_哔哩哔哩_bilibili

Lembre-se de baixar a versão 2.x do nacos, e você será responsável pelo erro "erro de publicação, verifique se os parâmetros estão corretos" ao criar uma nova configuração no futuro! ! ! !

Índice

1. Introdução ao Nacos

1.1 Quatro funções principais:

1.2 Comparação

2. Centro de Configuração

2.1 O que é configuração

  2.1.1 Características 

2.2 O que é Centro de Configuração

3. Instalação do Nacos Server

3.1 Download do arquivo

3.2 Inicie o servidor (modo Windows)

3.3 Teste de gerenciamento de configuração de API ABERTA

 3.3.1 instalação da ferramenta curl

 3.3.2 Publicar configuração

 3.3.3 Obter configuração

 3.3.4 Desligar o servidor (modo windows)

 3.3.5 Suporte de banco de dados MySQL externo


1. Introdução ao Nacos

Nacos é um produto de código aberto da Ali, uma solução abrangente para descoberta de serviços, gerenciamento de configuração e governança de serviços na arquitetura de microsserviços .

1.1 Quatro funções principais:

① Descoberta de serviço e verificação de integridade do serviço

     O Nacos facilita o registro e a descoberta de outros serviços por meio de interfaces DNS ou HTTP.Nacos também fornece verificações de integridade em tempo real de serviços para evitar que solicitações sejam enviadas a hosts ou instâncias de serviço não saudáveis.

②Gerenciamento de configuração dinâmica

     Os serviços de configuração dinâmica permitem que você gerencie de forma centralizada e dinâmica a configuração de todos os serviços em todos os ambientes. O Nacos elimina a necessidade de reimplantar aplicativos ao atualizar configurações, o que torna as alterações de configuração mais eficientes e flexíveis.

③Serviço de DNS dinâmico

     A Nacos fornece recursos de descoberta de serviço com base no protocolo DNS (Nacos não apenas realiza descoberta de serviço com base em HTTP, mas também pode realizar descoberta de serviço através do protocolo DNS), que visa oferecer suporte à descoberta de serviço em idiomas heterogêneos e suporta serviços registrados em Nacos em a forma de nomes de domínio Expor endpoints, permitindo que aplicativos de terceiros os visualizem e os descubram facilmente.
④ Gerenciamento de serviços e metadados
    O Nacos permite gerenciar todos os serviços e metadados no datacenter da perspectiva da construção da plataforma de microsserviços, incluindo descrição do serviço de gerenciamento, ciclo de vida, análise de dependência estática dos serviços, status de integridade dos serviços, gerenciamento de tráfego dos serviços, roteamento e políticas de segurança.
As características do gerenciamento de configuração dinâmica aqui ilustram os recursos de gerenciamento de configuração do Naocs.

1.2 Comparação

      Do ponto de vista do centro de configuração, em termos de desempenho, o Nacos tem o maior desempenho de leitura e gravação, seguido pelo Apollo.O cenário em que o Spring CloudConfig depende do Git não é adequado para APIs abertas de operação e manutenção automatizadas em grande escala . Em termos de funções , o Apollo é o mais completo, o Nacos possui a maioria das funções de gerenciamento de configuração do Apollo , enquanto o SpringCloud Config não possui uma interface de gerenciamento de operação e manutenção e precisa ser desenvolvido por ele mesmo. Uma grande vantagem do Nacos é que ele integra as funções de centro de registro e centro de configuração, em comparação com implantação e operação

O Apollo deve ser intuitivo e simples, por isso simplifica a complexidade da arquitetura e reduz o trabalho de operação e manutenção e implantação.

2. Centro de Configuração

Em geral, o centro de configuração é um componente de serviço básico que gerencia várias configurações de aplicativos de maneira unificada

2.1 O que é configuração

       Quando uma aplicação é iniciada e executada, muitas vezes ela precisa ler algumas informações de configuração. A configuração é basicamente acompanhada de todo o ciclo de vida da aplicação, como: parâmetros de conexão com o banco de dados, parâmetros de inicialização, etc.

  2.1.1 Características 

A configuração é uma variável somente leitura    independente do programa
       A configuração é somente leitura para o programa, o programa altera seu comportamento lendo a configuração, mas o programa não deve alterar a configuração
   Configure todo o ciclo de vida do aplicativo que o acompanha
        
      A configuração percorre todo o ciclo de vida do aplicativo. O aplicativo inicializa lendo a configuração na inicialização e ajusta o comportamento de acordo com a configuração em tempo de execução.
      Por exemplo: o número da porta do serviço precisa ser lido ao inicializar e a política de temporização precisa ser lida para executar tarefas de temporização durante a execução do sistema.
    A configuração pode ser carregada de várias maneiras
      Os mais comuns incluem hardcode dentro do programa , arquivos de configuração, variáveis ​​de ambiente, parâmetros de inicialização, baseados em bancos de dados, etc.
    A configuração precisa de governança
        Muitas vezes, o mesmo programa precisa ter configurações diferentes em ambientes diferentes (desenvolvimento, teste, produção) e clusters diferentes (como data centers diferentes), por isso é necessário ter um ambiente completo e gerenciamento de configuração de cluster

2.2 O que é Centro de Configuração

       Na arquitetura de microsserviços, quando o sistema é dividido de uma única aplicação para nós de serviço em um sistema distribuído, os arquivos de configuração também devem ser migrados (split), para que a configuração seja dispersa. Não só isso, mas também contém redundância, como mostrado abaixo:
   Para evitar redundância, podemos criar um centro de configuração e permitir que todos os serviços leiam os arquivos de configuração do centro de configuração.
   
   Ou seja, a configuração é separada de cada aplicativo, e a configuração é gerenciada pelo centro de configuração de forma unificada, não sendo necessário que o próprio aplicativo gerencie a configuração sozinho.

O processo é mostrado na figura abaixo: todo o processo é muito inteligente

Então, como obter a configuração mais recente?
   Por exemplo, através de alguns protocolos de rede, os protocolos de rede remota são lidos.
Por que lê-lo através do protocolo de rede remota?
   O centro de configuração é um serviço que é implantado de forma independente. Pode estar em um servidor independente. O Serviço A e o Serviço B estão ambos em um servidor independente. Então o acesso só pode ser lido através do protocolo de rede remota.
    

3. Instalação do Nacos Server

Nacos depende do ambiente Java para executar. Se você estiver construindo e executando o Nacos a partir do código , também precisará configurar o ambiente Maven para isso.
 
Recomende nacos 2.x jdk 1.8+ Maven 3.2.x+ mysql 5.6.5+ 

3.1 Download do arquivo

Lançamentos · alibaba/nacos (github.com)

Baixe o arquivo a seguir e descompacte-o, cuidado para não ter chinês no caminho
       O arquivo que termina em ".gz" é a versão do Linux, precisamos baixar o que termina em zip

 

O seguinte é o diretório do arquivo após a descompactação

3.2 Inicie o servidor (modo Windows)

   A porta padrão do Nacos é 8848, então precisamos garantir que esta porta não seja ocupada por outros processos.

 Iniciar comando:

cmd startup.cmd
   
    Ou clique duas vezes no arquivo startup.cmd diretamente

De qualquer forma, a página a seguir aparecerá após a execução bem-sucedida e, em seguida, copie o local marcado em vermelho abaixo, este local pode ser diferente para todos

 

Se a janela cmd em execução piscar novamente após clicarmos duas vezes, você pode consultar o artigo da seguinte pessoa, o que é realmente ótimo

(34 mensagens) NACOS startup flashback_ blog de Qianye antes do nascer do sol-CSDN blog_nacos startup flashback

Depois de inserir o endereço e pressionar Enter, a seguinte página aparecerá

    Nome de usuário padrão: nacos Senha padrão: nacos   

    Digite a senha para entrar na interface principal

3.3 Teste de gerenciamento de configuração de API ABERTA

3.3.1 instalação da ferramenta curl

Depois de iniciar o nacos com sucesso, você pode verificar se o serviço nacos está rodando normalmente através do httpapi fornecido pelo nacos .
Abaixo utilizamos a ferramenta curl para testar a openapi do nacos :
curl é uma ferramenta de linha de comando comumente usada em desenvolvimento e pode ser usada para teste de protocolo HTTP .
Baixe a versão do curl para Windows : curl-7.66.0_2-win64-mingw , link para download: https://curl.haxx.se/windows/
Você também pode extrair dados do disco de rede Baidu compartilhado acima

Após a conclusão do download, entre no diretório bin de curl-7.66.0_2-win64-mingw e execute o seguinte teste. Por meio do teste, você pode avaliar se o nacos está funcionando normalmente

 3.3.2 Publicar configuração

   Observe com atenção, esta é uma solicitação POST

curl -X POST "http://127.0.0.1:8848/nacos/v1/cs/configs?dataId=nacos.cfg.dataId&group=test&content=HelloWorld"

Execute o comando acima na janela do cmd, se for bem-sucedido, a palavra "true" aparecerá

Depois que true aparecer neste momento, abrimos a página Nacos novamente, lista de configuração -> consulta -> a seguinte configuração aparecerá, esta é nossa informação de configuração

Clique à direita para detalhes

O conteúdo da configuração aparecerá na página seguinte O conteúdo da configuração corresponde ao comando que acabamos de executar.

    Corresponde ao conteúdo após "content="

3.3.3 Obter configuração

 Nosso computador é um cliente, queremos obter dados de nacos

 Depois de publicar com sucesso a configuração no nacos , você pode obter as informações de configuração do nacos por meio do cliente e executar o seguinte comando:
   
       A solicitação GET pode ser obtida
curl -X GET "http://127.0.0.1:8848/nacos/v1/cs/configs?dataId=nacos.cfg.dataId&group=test"

Quando liberamos a configuração, especificamos um dataId, group, content

Então, quando pegarmos a configuração, precisamos especificar o dataId e o grupo, e então podemos pegar o conteúdo do conteúdo, conforme a figura abaixo

3.3.4 Desligar o servidor (modo windows)

cmd shutdown.cmd

Ou uma maneira mais direta é fechar a janela diretamente

Ou clique duas vezes em shutdown.cmd para executar o arquivo

3.3.5 Mudança para suporte de banco de dados MySQL externo

Como mostrado na figura abaixo, haverá alguns dados no nacos.No modo autônomo, o nacos usa um banco de dados embutido para armazenar dados por padrão.

      MySQL e SQL Server Esses bancos de dados pertencem ao servidor de banco de dados

      SQLite , Berkeley DB, etc. são bancos de dados incorporados

A maior diferença entre       bancos de dados integrados e servidores de banco de dados é que eles operam em diferentes espaços de endereço .

      Normalmente, o servidor de banco de dados executa um daemon de forma independente, enquanto o banco de dados incorporado é executado no mesmo processo que o aplicativo.

Se você deseja usar mysql externo para armazenar dados nacos , você precisa executar as seguintes etapas:
1. Instale o banco de dados , requisitos de versão: 5.6.5+ , abaixo do mysql8
2. Inicialize o banco de dados mysql, crie um novo banco de dados nacos_config , arquivo de inicialização do banco de dados: $ { nacoshome}/conf/nacos-mysql.sql
    Importe o seguinte arquivo para o banco de dados

 

A seguir está a tabela exigida por nacos

3. Modifique o arquivo ${nacoshome}/conf/application.properties , adicione suporte para a configuração da fonte de dados mysql (atualmente somente mysql é suportado) e adicione a url , nome de usuário e senha da fonte de dados mysql .

 Copie a seguinte declaração no arquivo acima

 spring.datasource.platform=mysql
 
db.num=1
db.url.0=jdbc:mysql://127.0.0.1:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true 
db.user=nacos_devtest
db.password=youdontknow

 Se a instrução acima não funcionar, podemos usar a seguinte, que possui um fuso horário a mais serverTimezone=UTC do que a configuração acima. Além disso, também alterei o nome do banco de dados para nacos. Tanto este arquivo quanto o banco de dados no MySQL têm foi alterado, porque quando eu usei o acima, ele continuou me dando um erro "com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown database 'nacos_config'", mas depois que eu o modifiquei, descobri que não havia esse problema Eu não sei o motivo.

spring.datasource.platform=mysql

db.num=1
db.url.0=jdbc:mysql://127.0.0.1:3306/nacos?characterEncoding=utf8&connectTimeout=1000&serverTimezone=UTC&socketTimeout=3000&autoReconnect=true
db.user=root
db.password=root
127.0.0.1:3306 Como está na minha máquina local, é 127.0.0.1 e o número da porta do MySQL é 3306

  nacos_config indica o nome do banco de dados (depois mudei para nacos)

   db.user , db.password representam o nome de usuário e a senha do banco de dados  

reiniciar nacos

 Entre novamente na página da web e verifique que não há dados, pois há uma tabela vazia em nosso banco de dados, mostra que não há dados, isso é normal

Acho que você gosta

Origin blog.csdn.net/weixin_51351637/article/details/129011544
Recomendado
Clasificación