1. 程式人生 > >《SpringBoot實戰第四版》讀書筆記(四)-- SpringCloud入門

《SpringBoot實戰第四版》讀書筆記(四)-- SpringCloud入門

1、現階段,單塊式架構師一份程式碼,部署和伸縮都是基於單個單元進行的,優點在於易於部署,但是面臨著可用性低、伸縮性差、集中釋出的生命週期以及違反單一功能原則。這就是SpringCloud的優勢所在,微服務的出現解決了這個問題。

2、微服務將按照邊界拆分成單個服務,體現出分散式的特徵,此時每個微服務之間的通訊將是我們解決的問題。基於SpringCloud開發的程式特別適合在Docker或者其他專業PaaS部署,所以又稱作原生雲應用

3、SpringCloud提供了Config Server,它有在分散式系統開發中外部配置的功能,通過Config Server,我們可以集中儲存所有應用的配置檔案。提供了註解@EnableConfigServer來啟用配置服務

4、SpringCloud通過Netflix OSS的Eureka來實現服務發現,主要目的是為了讓每個服務之間可以互相通訊,Eureka Server為微服務註冊中心。提供了Eureka服務端(@EnableEurekaServer)和客戶端(@EnableEurekaClient)

5、SpringCloud通過Zuul來實現路由閘道器,路由閘道器的主要目的是為了讓所有的微服務對外只有一個介面,我們只需要訪問一個閘道器地址,即可由閘道器將我們的請求代理到不同的服務中,提供了註解@EnableZuulProxy來啟用路由代理。

6、SpringCloud提供Ribbon和Feign作為客戶端的負載均衡

。使用Ribbon直接注入一個RestTemplate物件來負責負載均衡的配置;而使用Feign則只需要定義一個註解(@FeignClient),然後使用@RequestMapping註解到方法上對映到遠端的REST服務裡

7、SpringCloud使用@EnableCircuitBreaker來啟用斷路器的,斷路器主要是為了解決某個方法呼叫失敗後呼叫後備方法來代替失敗方法的,從而達到容錯、阻止級聯錯誤等功能,使用@HystrixCommand的fallbackMethod來指定後備方法。