Nacos的分布式配置中心
在项目中定义配置文件,最大的缺陷是什么?
如果在生产环境正在运行的时候突然需要修改配置文件的话,必须重启我们的服务器。
分布式配置中心的作用
分布式配置中心可以实现不需要重启我们的服务器,动态的修改我们的配置文件内容
分布式配置中心实现原理:
1、本地应用读取我们云端分布式配置中心文件(第一次建立长连接)
2、本地应用读取到配置文件之后,本地jvm和硬盘中都会缓存一份。
3、本地应用与分布式配置中心服务器端一直保持长连接。
4、当我们的配置文件发生变化(MD5 | 版本号)实现区分,将变化的结果通知给我们的本地应用及时的刷新我们的配置文件。
需要依赖的jar
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
<version>0.2.2.RELEASE</version>
</dependency>
新建一个config工程
在nacos的配置管理->配置列表,点击+号
在config工程新建一个application.yaml
内容
# server
server:
port: 9093
在config工程新建一个 bootstrap.yml
内容如下
spring:
application:
# 服务名称
name: config
cloud:
nacos:
discovery:
# nacos注册地址
server-addr: 127.0.0.1:8848
config:
# 配置中心连接地址
server-addr: 127.0.0.1:8848
# 分组
group: DEFAULT_GROUP
# 类型
file-extension: properties
profiles:
active: dev
新建一个OrderController
@RefreshScope
@RestController
public class OrderController {
@Value("${xxy.age}")
private String age;
@GetMapping("/getAge")
public String getAge(){
return age;
}
}
启动工程,请求得到 http://127.0.0.1:9093/getAge
注意:连接nacos分布式配置中心一定采用bootstrap形式优先加载 否则可能会报错。
bootstrap与application的区别:
bootstrap.yml 用于应用程序上下文的引导阶段。application.yml 由父Spring ApplicationContext加载。
可以实现动态实现@RefreshScope;可以对配置内容进行监听,察觉到内容被编辑之后会立刻刷新,而不用重启服务器。
最后
以上就是舒适百褶裙最近收集整理的关于Nacos的分布式配置中心Nacos的分布式配置中心的全部内容,更多相关Nacos内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复