Spring Cloud 知識點總結

2021-10-04 04:07:59 字數 1219 閱讀 9651

spring cloud 是一系列框架的有序集合,它利用 spring boot 的開發便利性巧妙地簡化了分布式系統基礎設施的開發。服務發現註冊、配置中心、訊息匯流排、負載均衡、斷路器、資料監控等,都可以用 spring boot 的開發風格做到一鍵啟動和部署。為了解決微服務架構中服務治理而提供的具備一系列功能的開發框架,並且 spring cloud 是完全基於 spring boot 進行開發的,spring cloud 利用 spring boot 特性整合了開源行業中優秀的元件,整體對外提供了一套在微服務架構中服務治理的解決方案。

3. spring cloud 實現服務註冊和發現的原理是什麼?

ribbon 和 feign 都是用於呼叫其他服務的,不過方式不同。

feign 則是在 ribbon 的基礎上進行了一次改進,採用介面的方式,將需要呼叫的其他服務的方法定義成抽象方法即可。不需要自己構建 http 請求,不過要注意的是抽象方法的註解、方法簽名要和提供服務的方法完全一致。

當乙個服務呼叫另乙個服務,由於網路原因或者自身原因出現問題時 ,呼叫者就會等待被調者的響應,當更多的服務請求到這些資源時,導致更多的請求等待,這樣就會發生連鎖效應,斷路器就是解決這一問題的。

斷路器的狀態有以下幾種:

hystrix 是乙個延遲和容錯庫,旨在隔離遠端系統,服務和第三方庫的訪問點,當出現故障是不可避免的故障時,停止級聯故障並在複雜的分布式系統中實現彈性。通常對於使用微服務架構開發的系統,涉及到許多微服務,這些微服務彼此協作, 隨著微服務數量的增加,這個問題變得更加複雜。我們將使用 hystrix 的 fallback 方法來處理,假設由於某種原因,公開的服務介面丟擲異常,我們在這種情況下使用 hystrix 定義乙個回退方法。這種後備方法應該具有與公開服務相同的返回型別,如果暴露服務**現異常,回退方法將返回對應資訊。

zookeeper 有 leader 和 follower 角色,eureka 各個節點平等。zookeeper 採用過半數存活原則,eureka 採用自我保護機制解決分割槽問題。

在程式執行時,負載平衡可以改善跨計算機、計算機集群、網路鏈結、**處理單元或磁碟驅動器等多種計算資源的工作負載分布。負載平衡旨在優化資源使用,最大化吞吐量,最小化響應時間並避免任何單一資源的過載。使用多個元件進行負載平衡而不是單個元件可能會通過冗餘來提高可靠性和可用性,負載平衡通常涉及專用軟體或硬體,例如多層交換機或網域名稱系統伺服器程序。

10. 為什麼要使用 spring cloud ,它有哪些優勢?

SpringCloud 使用知識點

伺服器發現 eureka zookeeper consul nacos 服務之間互相呼叫 resttemplate feign 負載均衡 ribbon 訊息中介軟體 rabbit kafka。spring cloud stream 配置中心 config server spring bus 自動更新...

hashMap hashtable知識點總結

a hashmap實際上是乙個 鍊錶雜湊 的資料結構,即陣列和鍊錶的結合體。hashmap的底層結構是乙個陣列,陣列中的每一項是一條鍊錶。b hashmap的例項有倆個引數影響其效能 初始容量 和 裝填因子。c hashmap實現不同步,執行緒不安全。hashtable執行緒安全 d hashmap...

Se Map Proxy Symbol知識點總結

se map proxy symbol總結 是es6中新增的乙個資料結構。可以理解為乙個內容不可重複的陣列 初始化 常用方法和屬性 add item 用於向set物件內新增一項 item 被新增的項 注 如果新增的是已經存在的內容 則新增失敗 var set new set 0,1,2,3,set....