分布式日志(二)注册中心和配置中心
ShiJh Lv3

分布式日志系列第二篇,关于服务注册中心和配置中心的学习

注册中心和配置中心

注册中心是保存微服务地址的地方,配置中心是保存微服务配置文件的地方。

为何需要注册中心

注册中心的功能很简单,微服务启动时向注册中心发送注册请求,需要调用其他微服务时通过服务名称从注册中心获取真实的IP:PORT。与直接使用真实地址相比有以下好处:

  1. 通过注册中心控制台可以方便的下线故障或过时的微服务,防止其他微服务调用
  2. 服务器更换后真实地址发生改变但服务名不变,降低微服务间的耦合性
  3. 方便通过Ribbon等负载均衡器从集群中选择一台服务器。(最重要的特点)

注册中心在集群环境下十分必要具体体现在1,3两点。

为何需要配置中心

配置中心的功能也很简单,微服务注册时通过命名规范匹配配置中心中的文件,推送到对应的服务器上,相当于把application.yml从项目中分离出来,使得微服务的配置更新变得更加容易。

  1. 不需要打开Jar包修改配置文件
  2. 某些情况下不需要重启微服务

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可实现引用配置项的热更新。

 评论