nacos 主要的基础语法,零基础学习

Nacos 是一个用于动态服务发现、配置管理和服务管理的平台。学习 Nacos 的基础语法和配置对于有效地管理和维护微服务架构非常重要。以下是一些关键的基础语法和概念,涵盖了服务注册与发现、配置管理等方面。

基础概念

  1. 服务注册与发现

    • 服务提供者将自身信息注册到 Nacos 中。
    • 服务消费者从 Nacos 获取所需的服务实例列表。
  2. 配置管理

    • 管理应用的各种配置文件,支持实时更新和热加载。
  3. 命名空间(Namespace)

    • 用于隔离不同的环境或项目组,如开发、测试、生产环境。
  4. 分组(Group)

    • 在同一个命名空间内,可以按功能或业务模块进行分组。
  5. 数据 ID(Data ID)

    • 配置文件的唯一标识符,通常包括文件名和扩展名,如 example.properties
  6. 集群模式

    • 支持单机模式和集群模式,确保高可用性。

主要配置文件

  1. application.properties
    • Nacos 服务器的主要配置文件,位于 conf/application.properties

关键配置项

application.properties 示例

Properties

复制代码
# Spring Boot 应用配置
server.port=8848

# 数据库连接配置
spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://127.0.0.1:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user=nacos
db.password=nacos

# 集群配置
nacos.core.auth.enabled=false
nacos.cluster.enabled=true
nacos.core.auth.system.type=nacos
nacos.core.auth.plugin.nacos.token.secret.key=SecretKey012345678901234567890123456789012345678901234567890123456789

# 其他配置
management.endpoints.web.exposure.include=*

服务注册与发现

使用 Spring Cloud Alibaba 进行服务注册与发现
  1. 添加依赖

pom.xml 中添加 Nacos Discovery 依赖:

xml

XML 复制代码
<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>

2.配置 application.yml

src/main/resources/application.yml 中配置 Nacos 服务器地址:

yaml

XML 复制代码
spring:
  application:
    name: your-service-name
  cloud:
    nacos:
      discovery:
        server-addr: 127.0.0.1:8848

3.启用服务注册

在主类上添加 @EnableDiscoveryClient 注解:

java

java 复制代码
package com.yourcompany.yourservice;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;

@SpringBootApplication
@EnableDiscoveryClient
public class YourServiceApplication {
    public static void main(String[] args) {
        SpringApplication.run(YourServiceApplication.class, args);
    }
}

配置管理

使用 Spring Cloud Alibaba 进行动态配置管理
  1. 添加依赖

pom.xml 中添加 Nacos Config 依赖:

xml

XML 复制代码
<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>

2.配置 bootstrap.yml

src/main/resources/bootstrap.yml 中配置 Nacos 配置中心地址:

yaml

XML 复制代码
spring:
  application:
    name: your-service-name
  cloud:
    nacos:
      config:
        server-addr: 127.0.0.1:8848
        file-extension: yaml

3.使用配置

在需要使用配置的地方注入配置属性:

java

java 复制代码
package com.yourcompany.yourservice.config;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;

@Component
public class AppConfig {

    @Value("${your.config.property:default_value}")
    private String configProperty;

    public String getConfigProperty() {
        return configProperty;
    }
}

控制台操作

  1. 登录控制台

    • 打开浏览器,访问 http://127.0.0.1:8848/nacos
    • 默认用户名和密码为 nacos
  2. 服务管理

    • 在"服务列表"中查看已注册的服务。
    • 可以手动添加、删除和编辑服务实例。
  3. 配置管理

    • 在"配置管理"中添加、编辑和发布配置文件。
    • 支持多种格式,如 properties、yaml 等。

示例代码

以下是一个简单的示例,展示如何在 Spring Boot 应用中使用 Nacos 进行服务注册与发现和配置管理。

1. 添加依赖

xml

XML 复制代码
<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <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>
</dependencies>
2. 配置 bootstrap.yml

yaml

XML 复制代码
spring:
  application:
    name: example-service
  cloud:
    nacos:
      discovery:
        server-addr: 127.0.0.1:8848
      config:
        server-addr: 127.0.0.1:8848
        file-extension: yaml
3. 启用服务注册

java

java 复制代码
package com.example.exampleservice;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;

@SpringBootApplication
@EnableDiscoveryClient
public class ExampleServiceApplication {
    public static void main(String[] args) {
        SpringApplication.run(ExampleServiceApplication.class, args);
    }
}
4. 使用配置

java

java 复制代码
package com.example.exampleservice.config;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;

@Component
public class AppConfig {

    @Value("${app.message:Default Message}")
    private String message;

    public String getMessage() {
        return message;
    }
}
5. 控制器示例

java

java 复制代码
package com.example.exampleservice.controller;

import com.example.exampleservice.config.AppConfig;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class HelloController {

    @Autowired
    private AppConfig appConfig;

    @GetMapping("/hello")
    public String sayHello() {
        return "Hello, " + appConfig.getMessage();
    }
}

总结

通过掌握上述 Nacos 的基本语法和配置选项,你可以有效地实现服务注册与发现、配置管理等功能,并确保微服务架构的高效性和可维护性。进一步的学习可以通过官方文档和其他资源来深入理解每个配置项的详细用法和最佳实践。

官方文档

这些资源提供了更详细的配置和高级功能介绍,帮助你更好地理解和使用 Nacos。

相关推荐
饕餮争锋2 分钟前
org.slf4j.MDC介绍-笔记
java·开发语言·笔记
shane-u6 分钟前
Maven私服搭建与登录全攻略
java·maven
半部论语6 分钟前
jdk多版本切换,通过 maven 指定编译jdk版本不生效,解决思路
java·开发语言·maven·intellij-idea
有梦想的攻城狮10 分钟前
spring中的@Async注解详解
java·后端·spring·异步·async注解
Python ml16 分钟前
Tomcat与纯 Java Socket 实现远程通信的区别
java·开发语言·tomcat
qq_124987075319 分钟前
原生小程序+springboot+vue医院医患纠纷管理系统的设计与开发(程序+论文+讲解+安装+售后)
java·数据库·spring boot·后端·小程序·毕业设计
说码解字21 分钟前
ExoPlayer 如何实现音画同步
开发语言·学习·音视频
海尔辛41 分钟前
学习黑客BitLocker与TPM详解
stm32·单片机·学习
伊成44 分钟前
一文详解Spring Boot如何配置日志
java·spring boot·单元测试
lybugproducer1 小时前
浅谈 Redis 数据类型
java·数据库·redis·后端·链表·缓存