分布式日志(二)注册中心和配置中心
分布式日志系列第二篇,关于服务注册中心和配置中心的学习
注册中心和配置中心
注册中心是保存微服务地址的地方,配置中心是保存微服务配置文件的地方。
○为何需要注册中心
注册中心的功能很简单,微服务启动时向注册中心发送注册请求,需要调用其他微服务时通过服务名称从注册中心获取真实的IP:PORT
。与直接使用真实地址相比有以下好处:
- 通过注册中心控制台可以方便的下线故障或过时的微服务,防止其他微服务调用
- 服务器更换后真实地址发生改变但服务名不变,降低微服务间的耦合性
- 方便通过
Ribbon
等负载均衡器从集群中选择一台服务器。(最重要的特点)
注册中心在集群环境下十分必要具体体现在1,3两点。
○为何需要配置中心
配置中心的功能也很简单,微服务注册时通过命名规范匹配配置中心中的文件,推送到对应的服务器上,相当于把application.yml
从项目中分离出来,使得微服务的配置更新变得更加容易。
- 不需要打开Jar包修改配置文件
- 某些情况下不需要重启微服务
○Nacos
○简介
nacos是SpringCloudAlibaba
中的一个组成部分,承担注册中心和配置中心的角色。
通过部署Nacos-server可以直接启动注册中心和配置中心,每个微服务相当于Nacos-client,配置Nacos-server的地址后即可注册微服务和获取配置文件。
○配置
对应依赖名称:
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifectId>spring-cloud-starter-alibaba-nacos-discovery</artifectId>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifectId>spring-cloud-starter-alibaba-nacos-config</artifectId>
</dependency>
启用配置中心后,项目的配置文件需改名为
bootstrap.yml
并配置必要参数:
- spring.application.name
- spring.cloud.nacos.server-addr
- spring.cloud.nacos.username
- spring.cloud.nacos.password
- spring.cloud.nacos.config.file-extension
○热更新
Nacos支持配置文件发布后进行热更新,须在类上标注@RefreshScpoe
可实现引用配置项的热更新。
评论