Nacos是阿里巴巴开源开源框架。
所解决的问题是:注册中心| 分布式配置中心。
可以替代之前学习Eureka和config| 携程阿波罗
Nacos 服务注册和发现
官网:[https://nacos.io/zh-cn/docs/quick-start-spring-cloud.html](https://nacos.io/zh-cn/docs/quick-start-spring-cloud.html)
源码原理图:
产生的背景:
在项目中定义配置文件,最大的缺陷是什么?
如果在生产环境正在运行的时候突然需要修改配置文件的话,必须重启我们的服务器。
轻量级与重量级分别表示什么意思?
轻量级:部署、架构设计原理都比较简单,学习成本也是比较低:
重量级:部署、架构设计、体量都是非常大,学习成本是比较高。
如何判断配置文件是否发生变化:版本号 + MD5。
分布式配置中心实现原理:
1、本地应用读取我们云端分布式配置中心文件(第一次建立长连接)
2、本地应用读取到配置文件之后,本地jvm和硬盘中都会缓存一份。
3、本地应用与分布式配置中心服务器端一直保持长连接。
4、当我们的配置文件发生变化(MD5 | 版本号)实现区分,将变化的结果通知给我们的本地应用及时的刷新我们的配置文件
注意:Nacos分布式配置中心和注册中心都部署在同一个应用,就是一个单体的应用。
安装与下载忽略
导入依赖
<!--nacos服务注册/发现--><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId></dependency>
nacos服务发现
spring:application:name: league-service-usercloud:nacos:config:# 注册中心地址server-addr: localhost:8081namespace: DEVgroup: userusername: nacospassword: nacos# 配置文件类型,有yml和propertiesfileExtension: ymlenabled: true # 如果不想使用 Nacos 进行服务注册和发现,设置为 false 即可refresh:enabled: true
启动类上注解 @EnableDiscoveryClient
eureka和nacos区别
配置中心
导入依赖
<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId><version>0.9.0.RELEASE</version></dependency>

