Índice
visão geral
Nacos (Naming and Configuration Service) é um sistema de código aberto para descoberta de serviços distribuídos e gerenciamento de configuração, de código aberto da Alibaba e usado para ajudar os desenvolvedores a realizar registro de serviços, descoberta, configuração dinâmica e outras funções na arquitetura de microsserviços. O Nacos fornece funções básicas, como registro e descoberta de serviços, configuração dinâmica e verificação de integridade de serviços, e é adequado para vários aplicativos baseados na arquitetura nativa da nuvem.
1. Instale o Nacos
1. Baixe Nacos
Acesse o repositório Nacos GitHub para baixar a versão mais recente da distribuição Nacos.
2. Descompacte
Descompacte o pacote compactado baixado no diretório onde deseja instalar o Nacos
3. Inicie o servidor Nacos
Entre no diretório descompactado Nacos\bin e execute o seguinte comando em cmd para iniciar o servidor Nacos (inicialização autônoma)
startup.cmd -m standalone
A interface a seguir aparece, o que significa que a inicialização foi bem-sucedida.
4. Personalize o script de inicialização do Nacos
Como é muito problemático ir ao diretório correspondente e abri-lo com um comando toda vez que você o inicia, um script de inicialização simples é fornecido aqui para facilitar a inicialização do Nacos.
- Primeiro crie um arquivo .txt na área de trabalho e digite o seguinte comando no arquivo: Nota : Substitua o caminho do diretório de instalação pelo caminho Nacos\bin.
start cmd /k "cd /d 安装目录路径 && startup.cmd -m standalone"
- Em seguida, salve o arquivo .txt e modifique o sufixo do arquivo para .bat
- Em seguida, clique duas vezes no arquivo .bat para iniciar o Nacos rapidamente
5. Acesse o Console Web Nacos
Depois que o servidor Nacos for iniciado, você poderá usar o console Web ou API para realizar registro, descoberta, configuração de serviço, etc.
- Acesse o console Web: Digite http://localhost:8848/nacos no navegador para acessar o console Nacos. O nome de usuário e senha padrão são nacos. Aqui você pode ver diversas informações no Nacos.
2. Nacos ---- registro e descoberta de serviço
Nacos é um componente do SpringCloudAlibaba, e SpringCloudAlibaba também segue as especificações de registro e descoberta de serviço definidas no SpringCloud. Portanto, não há muita diferença entre usar Nacos e usar Eureka para microsserviços.
1. Adicionar dependência do Nacos
Primeiro, você precisa adicionar dependências relacionadas ao Nacos ao arquivo pom.xml do projeto Spring Cloud
<!-- 服务注册发现 -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<!-- 配置中心 -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
2. Configure o endereço do servidor Nacos
Configure o endereço para conectar-se ao servidor Nacos no arquivo de configuração do projeto Spring Cloud (como application.yml ou application.properties)
spring:
cloud:
nacos:
config:
server-addr: localhost:8848 # Nacos 服务器地址
application: # 服务名称 名称唯一,如果一样就自动成了集群
name: example
3. Use o serviço de registro Nacos
Adicione a anotação @EnableDiscoveryClient à classe de inicialização principal do projeto Spring Cloud para habilitar a função de descoberta de serviço
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
@SpringBootApplication
@EnableDiscoveryClient
public class MyApplication {
public static void main(String[] args) {
SpringApplication.run(MyApplication.class, args);
}
}
4. Inicie o serviço
Após iniciar, você poderá ver o serviço cadastrado na lista de serviços do Nacos
3. Nacos ---- Gerenciamento de configuração
1. Crie dados de configuração
Nota: Igual ao acima, você precisa primeiro adicionar dependências do Nacos e configurar o endereço do servidor Nacos.
Crie dados de configuração no console Nacos. Por exemplo, você pode criar um arquivo de configuração chamado my-service-dev.yaml com o seguinte conteúdo
spring:
datasource:
url: jdbc:mysql://localhost:3306/mydb
username: root
password: password
Em seguida, configure a configuração do centro de configuração Nacos no arquivo bootstrap.yml (ou bootstrap.properties) do projeto Spring Cloud
spring:
application:
name: my-service
cloud:
nacos:
config:
server-addr: ${
NACOS_SERVER_ADDR:localhost:8848}
group: DEFAULT_GROUP
file-extension: yaml
2. Obtenha a configuração do Nacos
No projeto Spring Cloud, use a anotação @Value ou a anotação @ConfigurationProperties para obter os valores de configuração obtidos do Nacos
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class MyController {
@Value("${spring.datasource.url}")
private String datasourceUrl;
@GetMapping("/config")
public String getConfig() {
return "Datasource URL: " + datasourceUrl;
}
}
No exemplo acima, @Value(“${spring.datasource.url}”) obterá o valor de configuração denominado spring.datasource.url do Nacos Configuration Center
Resumir
Resumindo, o Nacos pode ser usado para implementar registro de serviço, descoberta e gerenciamento de configuração em projetos Spring Cloud. Você pode usar Nacos facilmente em projetos Spring Cloud adicionando dependências, configurando o endereço do servidor Nacos, usando @EnableDiscoveryClient para habilitar a descoberta de serviço e usando a anotação @Value para obter a configuração.