• Nacos安装及在项目中的使用


    概要

    Nacos(Naming and Configuration Service)是一个开源的分布式服务发现和配置管理系统,由阿里巴巴开源,用于帮助开发者实现微服务架构中的服务注册、发现、动态配置等功能。Nacos 提供了服务注册与发现、动态配置、服务健康检查等核心功能,适用于各种基于云原生架构的应用。

    一、安装 Nacos

    1、下载 Nacos

    前往 Nacos 的 GitHub 仓库下载最新版本的 Nacos 发行版。

    nacos下载

    2、解压

    将下载的压缩包解压到你希望安装 Nacos 的目录

    在这里插入图片描述

    3、启动 Nacos 服务器

    进入解压后的 Nacos\bin目录,cmd中执行以下命令启动 Nacos 服务器(单机启动)

    startup.cmd -m standalone
    
    • 1

    在这里插入图片描述

    出现如下界面则代表启动成功

    在这里插入图片描述

    4、自定义Nacos启动脚本

    由于每次启动都需要到对应目录使用命令打开非常麻烦,所以在这里提供一个简单的启动脚本,方便启动Nacos

    • 先在桌面新建一个.txt文件,然后在文件中输入下方命令,注意:安装目录路径替换为你的Nacos\bin路径
    start cmd /k  "cd /d 安装目录路径 && startup.cmd -m standalone"
    
    • 1
    • 然后保存.txt文件并修改文件后缀为.bat
    • 之后双击.bat文件即可快速启动Nacos

    5、访问Nacos Web控制台

    一旦 Nacos 服务器启动,你可以使用 Web 控制台或 API 来进行服务注册、发现、配置等操作。

    • 访问 Web 控制台: 在浏览器中输入 http://localhost:8848/nacos 访问 Nacos 控制台,默认用户名密码为 nacos,在这里可以看到Nacos中的各项信息
      在这里插入图片描述

    二、Nacos----服务注册与发现

    Nacos是SpringCloudAlibaba的组件,而SpringCloudAlibaba也遵循SpringCloud中定义的服务注册、服务发现规范。因此使用Nacos和使用Eureka对于微服务来说,并没有太大区别。

    1、添加 Nacos 依赖

    首先,需要在 Spring Cloud 项目的 pom.xml 文件中添加 Nacos 相关的依赖

    
    <dependency>
    	<groupId>com.alibaba.cloudgroupId>
    	<artifactId>spring-cloud-starter-alibaba-nacos-discoveryartifactId>
    dependency>
    
    <dependency>
    	<groupId>com.alibaba.cloudgroupId>
    	<artifactId>spring-cloud-starter-alibaba-nacos-configartifactId>
    dependency>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    2、配置 Nacos 服务器地址

    在 Spring Cloud 项目的配置文件(如 application.yml 或 application.properties)中配置连接到 Nacos 服务器的地址

    spring:
      cloud:
        nacos:
          config:
            server-addr: localhost:8848 # Nacos 服务器地址
      application: # 服务名称 名称唯一,如果一样就自动成了集群
        name: example
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    3、使用 Nacos 注册服务

    在 Spring Cloud 项目的主启动类上添加@EnableDiscoveryClient 注解,启用服务发现功能

    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);
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    4、启动服务

    启动后就可以在Nacos的服务列表中看到注册的服务

    在这里插入图片描述

    三、Nacos----配置管理

    1、创建配置数据

    注:同上,需要先添加 Nacos 依赖和配置 Nacos 服务器地址

    在 Nacos 控制台上创建配置数据。例如,可以创建一个名为 my-service-dev.yaml 的配置文件,内容如下

    spring:
      datasource:
        url: jdbc:mysql://localhost:3306/mydb
        username: root
        password: password
    
    • 1
    • 2
    • 3
    • 4
    • 5

    然后,在 Spring Cloud 项目的 bootstrap.yml(或 bootstrap.properties)文件中配置 Nacos 配置中心的配置

    spring:
      application:
        name: my-service
      cloud:
        nacos:
          config:
            server-addr: ${NACOS_SERVER_ADDR:localhost:8848}
            group: DEFAULT_GROUP
            file-extension: yaml
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    2、从 Nacos 获取配置

    在 Spring Cloud 项目中,使用 @Value 注解或 @ConfigurationProperties 注解来获取从 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;
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    在上述示例中,@Value(“${spring.datasource.url}”) 会从 Nacos 配置中心获取名为 spring.datasource.url 的配置值

    总结

    综上所述,Nacos 可以在 Spring Cloud 项目中用于实现服务注册、发现和配置管理。通过添加依赖、配置 Nacos 服务器地址、使用 @EnableDiscoveryClient 启用服务发现,以及使用 @Value 注解获取配置,你可以方便地在 Spring Cloud 项目中使用 Nacos。

  • 相关阅读:
    linux下python3环境中安装MySQLdb
    【Scheme】Scheme 编程学习 (五) —— 引述
    Java并发编程学习7-阻塞队列
    用户考试分数大于单科科目平均分的查询
    TCP/IP网络江湖——江湖导航(网络层上篇)
    关于iredmail 邮箱
    UE5 虚幻引擎 详解蓝图通信 必备的知识技能之一!!!
    多线程&并发篇---第九篇
    Unity中使用自定义mesh和UImesh
    【动态规划】198. 打家劫舍、213. 打家劫舍 II、337. 打家劫舍 III
  • 原文地址:https://blog.csdn.net/weixin_53902288/article/details/132302508