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。

相关推荐
Lojarro9 分钟前
JavaEE基础之- Servlet相关
java·servlet·java-ee
技术小齐19 分钟前
网络运维学习笔记 017HCIA-Datacom综合实验01
运维·网络·学习
KingDol_MIni31 分钟前
Spring Boot 集成 T-io 实现客户端服务器通信
java·服务器·spring boot
许苑向上36 分钟前
Java八股文(下)
java·开发语言
逸Y 仙X40 分钟前
Git常见命令--助力开发
java·大数据·git·java-ee·github·idea
独孤求败Ace44 分钟前
第44天:Web开发-JavaEE应用&反射机制&类加载器&利用链&成员变量&构造方法&抽象方法
java·开发语言
FLZJ_KL44 分钟前
【设计模式】【创建型模式】单例模式(Singleton)
java·单例模式·设计模式
CL_IN1 小时前
企业数据集成:实现高效调拨出库自动化
java·前端·自动化
计算机-秋大田1 小时前
基于Spring Boot的农产品智慧物流系统设计与实现(LW+源码+讲解)
java·开发语言·spring boot·后端·spring·课程设计
曾浩轩1 小时前
51单片机学习之旅——C语言小知识
c语言·学习·51单片机