描述下什么是springcloud,springcloud中的組件有哪些?分別描述下它的原理?


1.什么是springcloud,springcloud中的組件有哪些?

Spring cloud是一個基於Spring Boot實現的服務治理工具包,在微服務架構中用於管理和協調服務的
微服務:就是把一個單體項目,拆分為多個微服務,每個微服務可以獨立技術選型,獨立開發,獨立部署,獨立運維.並且多個服務相互協調,相互配合,最終完成用戶的價值.
Spring Cloud是一系列框架的有序集合。它利用Spring Boot的開發便利性巧妙地簡化了分布式系統基礎設施的開發,如服務發現注冊、配置中心、消息總線、負載均衡、斷路器、數據監控等,都可以用Spring Boot的開發風格做到一鍵啟動和部署

  • 服務發現——Netflix Eureka
  • 客服端負載均衡——Netflix Ribbon
  • 斷路器——Netflix Hystrix
  • 服務網關——Netflix Zuul
  • 分布式配置——Spring Cloud Config

 

2.分別描述下它的原理?

Eureka(注冊發現)

作用:實現服務治理(服務注冊與發現)
簡介:Spring Cloud Eureka是Spring Cloud Netflix項目下的服務治理模塊。
由兩個組件組成:Eureka服務端和Eureka客戶端。
Eureka服務端用作服務注冊中心。支持集群部署。
Eureka客戶端是一個java客戶端,用來處理服務注冊與發現。
在應用啟動時,Eureka客戶端向服務端注冊自己的服務信息,同時將服務端的服務信息緩存到本地。客戶端會和服務端周期性的進行心跳交互,以更新服務租約和服務信息。

 

Ribbon

作用:Ribbon,主要提供客戶側的軟件負載均衡算法。
簡介:Spring Cloud Ribbon是一個基於HTTP和TCP的客戶端負載均衡工具,它基於Netflix Ribbon實現。通過Spring Cloud的封裝,可以讓我們輕松地將面向服務的REST模版請求自動轉換成客戶端負載均衡的服務調用。

Hystrix

作用:斷路器,保護系統,控制故障范圍。
簡介:為了保證其高可用,單個服務通常會集群部署。由於網絡原因或者自身的原因,服務並不能保證100%可用,如果單個服務出現問題,調用這個服務就會出現線程阻塞,此時若有大量的請求涌入,Servlet容器的線程資源會被消耗完畢,導致服務癱瘓。服務與服務之間的依賴性,故障會傳播,會對整個微服務系統造成災難性的嚴重后果,這就是服務故障的“雪崩”效應。

Zuul

作用:api網關,路由,負載均衡等多種作用
簡介:類似nginx,反向代理的功能,不過netflix自己增加了一些配合其他組件的特性。
在微服務架構中,后端服務往往不直接開放給調用端,而是通過一個API網關根據請求的url,路由到相應的服務。當添加API網關后,在第三方調用端和服務提供方之間就創建了一面牆,這面牆直接與調用方通信進行權限控制,后將請求均衡分發給后台服務端。

Conf

作用:配置管理
簡介:SpringCloud Config提供服務器端和客戶端。服務器存儲后端的默認實現使用git,因此它輕松支持標簽版本的配置環境,以及可以訪問用於管理內容的各種工具。
這個還是靜態的,得配合Spring Cloud Bus實現動態的配置更新。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM