一、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,提供了更加面向對象的服務調用方式。