Spring Cloud是一系列框架的有序集合。它利用Spring Boot的開發便利性巧妙地簡化了分佈式系統基礎設施的開發,如服務發現註冊、配置中心、消息總線、負載均衡、斷路器、數據監控等,均可以用Spring Boot的開發風格作到一鍵啓動和部署。Spring並無重複製造輪子,它只是將目前各家公司開發的比較成熟、經得起實際考驗的服務框架組合起來,經過Spring Boot風格進行再封裝屏蔽掉了複雜的配置和實現原理,最終給開發者留出了一套簡單易懂、易部署和易維護的分佈式系統開發工具包。html
微服務的概念起源於: http://www.cnblogs.com/liuning8023/p/4493156.html(英文: https://martinfowler.com/articles/microservices.html)git
微服務架構模式的目的是將大型的,複雜的,長期運行的應用程序構建爲一組相互配合的服務,每一個服務均可以很容易進行局部改良.微服務的意思是每一個服務應該足夠小,小是指業務邏輯上的小.微服務的形象表示:spring
主要是下面內容:數據庫
每一個模塊又是由不一樣組件結合來解決,其實學習Spring Cloud就是學會Spring Boot整合這些組件,學會使用,深刻理解就好.安全
Eureka是Netflix開源的一款提供服務註冊和發現的產品,提供了完整的Service Registry 和 Service Discovery實現, 是Spring Cloud體系中最重要最核心的組件之一. Eureka至關於圖書館管理員,添加書須要到我這說一下,取書也獲得我這報備.因此說Eureka在生產環境中通常是集羣,至少兩個,不然Eureka一旦掛掉將會影響整個服務.服務器
Eureka就自動具備註冊中心,負載均衡,故障轉移的功能.架構
熔斷器,容錯管理工具,旨在經過熔斷機制控制服務和第三方節點,從而對延遲和故障提供更強大的容錯能力.也就是微服務中多個服務層調用,基礎服務的故障可能會致使級聯故障,形成整個系統不可用,就是服務血崩效應,Hystrix就是在這種場景下來作故障隔離,Hystrix 會在某個服務連續調用 N 次不響應的狀況下,當即通知調用端調用失敗,避免調用端持續等待而影響了總體服務。Hystrix 間隔時間會再次檢查此服務,若是服務恢復將繼續提供服務。app
服務雪崩效應是一種因"服務提供者"不可用致使"服務消費者"的不可用,而且將不可用逐漸放大的過程.負載均衡
zuul路由也是微服務架構不可或缺的一部分,提供動態路由,監控,彈性,安全等的邊緣服務.具體做用就是服務轉發,接受並轉發全部內外部的客戶端調用,使用 Zuul 能夠做爲資源的統一訪問入口. zuul至關於門衛,對請求進行一些校驗等.框架
配置中心,把配置文件放在遠程服務器,集中化管理集羣配置,支持本地存儲,git以及svn.
這個組件是解決分佈式系統的配置管理方案,包含了client和server兩個部分,Server 提供配置文件的存儲、以接口的形式將配置文件的內容提供出去,Client 經過接口獲取數據、並依據此數據初始化本身的應用。
當全部配置存儲在配置中心時,配置中心也成爲一個很重要的組件,因此通常也建議作集羣,支持配置中心高可用.
事件,消息總線,用於在集羣中傳播狀態變化,可與Spring Cloud Config聯合支持熱部署,也就是改變配置文件提交到版本庫時,會自動觸發對應實例的Refresh.
日誌收集工具包,封裝了Dapper和log-based追蹤以及Zipkin和HTrace操做,爲SpringCloud應用實現了一種分佈式追蹤解決方案。
還有更多的組件,使用的時候再說.
組件的配套使用
參考:純潔的微笑(http://www.ityouknow.com/springcloud/2017/05/01/simple-springcloud.html) 和 Wind MT(https://windmt.com/2018/04/14/spring-cloud-0-microservices/)