什么是Nacos?
Nacos是阿里的一个开源产品,是针对微服务架构中的服务发现、配置管理、服务治理的综合型解决方案。(用来实现配置中心和服务注册中心)
Nacos是阿里的一个开源产品,是针对微服务架构中的服务发现、配置管理、服务治理的综合型解决方案。(用来实现配置中心和服务注册中心)
官网:https://nacos.io/zh-cn/docs/what-is-nacos.html
1.Nacos简介
Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。
2.Nacos注册中心的使用
2.1将微服务注册到Nacos
① 首先需要搭建Nacos环境、安装nacos(路径栏中不能有汉字)
下载地址: https://github.com/alibaba/nacos/releases
下载zip格式的安装包,然后进行解压缩操作
②启动nacos
我们要启动Nacos时必须保证当前系统配置了java环境变量
简单来说就是要环境变量中,有JAVA_HOME的配置,指向安装jdk的路径
#命令启动
startup.cmd -m standalone
③访问nacos
打开浏览器输入http://localhost:8848/nacos,即可访问服务, 默认密码是nacos/nacos
2.2接下来将微服务注册到Nacos中
接下来开始修改 shop-product 模块的代码, 将其注册到nacos服务上
① 在pom.xml中添加nacos的依赖
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
②在主启动类上添加nacos的开启注解
@SpringBootApplication
@EnableDiscoveryClient//开启nacos注解
@MapperScan(basePackages = "com.cyy.product.mapper")
public class ProductApplication {
public static void main(String[] args) {
SpringApplication.run(ProductApplication.class,args);
}
}
③在application.propreties添加nacos的配置
#配置nacos注册中心的地址
spring.cloud.nacos.server-addr=localhost:8848
④启动服务,观察nacos的控制面板中是否有注册上来的商品微服务
3.Nacos配置中心的使用
微服务中配置中心的主流解决方案主要有三种:Nacos、Apollo、Config+Bus,不过这篇文章我们主要介绍 Nacos 作为配置中心的用法,对其他两种方式感兴趣的读者请自行上网查阅
①首先我们声明项目的版本信息:
<properties>
<spring-boot.version>2.3.2.RELEASE</spring-boot.version>
<spring-cloud.version>Hoxton.SR9</spring-cloud.version>
<spring-cloud-alibaba.version>2.2.6.RELEASE</spring-cloud-alibaba.version>
</properties>
<!-- 只声明依赖,不引入依赖 -->
<dependencyManagement>
<dependencies>
<!-- 声明springBoot版本 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>${spring-boot.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<!-- 声明springCloud版本 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring-cloud.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<!-- 声明 springCloud Alibaba 版本 -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>${spring-cloud-alibaba.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
②添加 nacos 配置中心的 maven 依赖:
<!-- SpringCloud Ailibaba Nacos Config -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
③在 application.properties 文件中添加 nacos 配置中心相关配置:
spring.profiles.active=dev
spring.application.name=cloud-producer-server
server.port=8080
# nacos 配置中心地址
spring.cloud.nacos.config.server-addr=localhost:8848
# 配置文件的类型
spring.cloud.nacos.config.file-extension=yaml
④在 nacos 控制台新建一个 DataID 为 cloud-producer-server-dev.yaml 的配置集:
⑤编写测试类:
//配置发布之后,动态刷新配置
@RefreshScope
@RestController
@RequestMapping("provider")
public class ProviderController
{
// 使用原生注解@Value()导入配置
@Value("${user.id}")
private String id;
@Value("${user.name}")
private String name;
@Value("${user.age}")
private String age;
@GetMapping("getNacosConfig")
public String providerTest()
{
return "我是provider,已成功获取nacos配置中心的数据:(id:" + id + ",name:" + name + ",age:" + age +")";
}
}
⑥启动服务验证:
启动项目可以看到 nacos 配置中心的配置信息已经生效并被成功获取到了
更多推荐
所有评论(0)