当前位置: 首页 > news >正文

Nacos安装及在项目中的使用

目录

    • 概要
    • 一、安装 Nacos
      • 1、下载 Nacos
      • 2、解压
      • 3、启动 Nacos 服务器
      • 4、自定义Nacos启动脚本
      • 5、访问Nacos Web控制台
    • 二、Nacos----服务注册与发现
      • 1、添加 Nacos 依赖
      • 2、配置 Nacos 服务器地址
      • 3、使用 Nacos 注册服务
      • 4、启动服务
    • 三、Nacos----配置管理
      • 1、创建配置数据
      • 2、从 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

在这里插入图片描述

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

在这里插入图片描述

4、自定义Nacos启动脚本

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

  • 先在桌面新建一个.txt文件,然后在文件中输入下方命令,注意:安装目录路径替换为你的Nacos\bin路径
start cmd /k  "cd /d 安装目录路径 && startup.cmd -m standalone"
  • 然后保存.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.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、配置 Nacos 服务器地址

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

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

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);}
}

4、启动服务

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

在这里插入图片描述

三、Nacos----配置管理

1、创建配置数据

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

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

spring:datasource:url: jdbc:mysql://localhost:3306/mydbusername: rootpassword: password

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

spring:application:name: my-servicecloud:nacos:config:server-addr: ${NACOS_SERVER_ADDR:localhost:8848}group: DEFAULT_GROUPfile-extension: yaml

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;}
}

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

总结

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

http://www.lryc.cn/news/164222.html

相关文章:

  • overleaf中latex语法总结
  • Grafana配置邮件告警
  • setup中的nextTick函数
  • Matlab信号处理3:fft(快速傅里叶变换)标准使用方式
  • Python|合并两个字典的几种方法
  • ElementUI浅尝辄止24:Message 消息提示
  • 让照片动起来的软件,轻松制作照片动效
  • 【图解RabbitMQ-7】图解RabbitMQ五种队列模型(简单模型、工作模型、发布订阅模型、路由模型、主题模型)及代码实现
  • Linux命令200例:write用于向特定用户或特定终端发送信息
  • javaee spring整合mybatis spring帮我们创建dao层
  • 修改Tomcat的默认端口号
  • Open3D Ransac拟合空间直线(python详细过程版)
  • 题目:2729.判断一个数是否迷人
  • 微服务模式:服务发现模式
  • 9.4 数据库 TCP
  • 普通用户使用spark的client无法更新Ranger策略
  • Git超详细教程
  • C++ 回调函数
  • xilinx FPGA IOB约束使用以及注意事项
  • 如何统计iOS产品不同渠道的下载量?
  • 大模型学习
  • Redis原理:IntSet
  • 【已解决】Splunk 8.2.X 升级ES 后红色报警
  • 香橙派使用外设驱动库wiringOP 配合定时器来驱动舵机
  • C++学习笔记--函数重载(2)
  • 代码随想录算法训练营Day56 || ● 583. 两个字符串的删除操作 ● 72. 编辑距离
  • chrome_elf.dll丢失怎么办?修复chrome_elf.dll文件的方法
  • 代码随想录32|738.单调递增的数字,968.监控二叉树,56. 合并区间
  • BIO NIO AIO演变
  • JVM GC垃圾回收