一、Nacos 服务注册中心/统一配置中心
1、介绍
Nacos是一个配置中心,也是一个服务注册与发现中心。
1.1、配置中心的好处:
(1)配置数据脱敏
(2)防止出错,方便管理
(3)在当微服务架构中,当实例越来越多,达到数十、数百时,去逐个修改每1个微服务的配置就会让人抓狂,而且很容易出错。这时我们就需要1个可以集中保存微服务配置的配置中心。
1.2、服务注册与发现中心的好处
(1)方便服务集中管理
(2)各种服务相互调用可以通过服务名去调用
2、nacos版本说明
3、原理
用户端在nacos注册自身服务,并自动将nacos服务列表拉取到本地服务列表。同时通过心跳定时检测nacos服务列表,若列表有更新,则客户端自动拉取nacos服务列表到本地。客户端通过本地服务列表连接到相应服务。
(1)注册中心原理:
(2)配置中心原理:
先来了解SpringBoot/SpringCloud中几个关键类。
MapPropertySource:这个是spring中属性配置的数据源,所有的配置文件都要转成这样的形式。
RefreshEvent:发送该事件,可以类似调用RefreshEndpoint#refresh,也就是通知spring刷新配置文件。
EnvironmentChangeEvent:发送该事件,会通知环境已经发生变化。
ContextRefresher:刷新管理类。
NacosContextRefresher:nacos配置上下文管理类。
RefreshScope:该注解会把bean加入到’refresh’的scope中。
ClientWorker:nacos配置中心客户端,会定时http请求服务器。
二、微服务的调用 - Ribbon + RestTemplate
三、声明式服务调用feign
Feign其实本质上就是Ribbon + Hystrix,提供了更加面向对象的服务调用方式。