Spring cloud架構

Spring Cloud是一系列框架的有序集合。它利用Spring Boot的開發便利性巧妙地簡化了分佈式系統基礎設施的開發,如服務發現註冊、配置中心、消息總線、負載均衡、斷路器、數據監控等,均可以用Spring Boot的開發風格作到一鍵啓動和部署。Spring並無重複製造輪子,它只是將目前各家公司開發的比較成熟、經得起實際考驗的服務框架組合起來,經過Spring Boot風格進行再封裝屏蔽掉了複雜的配置和實現原理,最終給開發者留出了一套簡單易懂、易部署和易維護的分佈式系統開發工具包。
Spring Cloud正是對Netflix的多個開源組件進一步的封裝而成,同時又實現了和雲端平臺,和Spring Boot開發框架很好的集成。
Spring Cloud是一個相對比較新的微服務框架,2016年才推出1.0的release版本. 雖然Spring Cloud時間最短, 可是相比Dubbo等RPC框架, Spring Cloud提供的全套的分佈式系統解決方案
Spring Cloud 爲開發者提供了在分佈式系統(配置管理,服務發現,熔斷,路由,微代理,控制總線,一次性token,全居瑣,leader選舉,分佈式session,集羣狀態)中快速構建的工具,使用Spring Cloud的開發者能夠快速的啓動服務或構建應用、同時可以快速和雲平臺資源進行對接。spring

Spring Cloud的子項目,大體可分紅兩類,一類是對現有成熟框架」Spring Boot化」的封裝和抽象,也是數量最多的項目;第二類是開發了一部分分佈式系統的基礎設施的實現,如Spring Cloud Stream扮演的就是kafka, ActiveMQ這樣的角色。對於咱們想快速實踐微服務的開發者來講,第一類子項目就已經足夠使用,如:Spring Cloud Netflix,是對Netflix開發的一套分佈式服務框架的封裝,包括服務的發現和註冊,負載均衡、斷路器、REST客戶端、請求路由等。該項目是Spring Cloud的子項目之一,主要內容是對Netflix公司一系列開源產品的包裝,它爲Spring Boot應用提供了自配置的Netflix OSS整合。
經過一些簡單的註解,開發者就能夠快速的在應用中配置一下經常使用模塊並構建龐大的分佈式系統。它主要提供的模塊包括:服務發現(Eureka),斷路器(Hystrix),智能路由(Zuul),客戶端負載均衡(Ribbon)等。安全

spring cloud 的核心組件:session

    • Spring Cloud Netflix:核心組件,能夠對多個Netflix OSS開源套件進行整合,包括如下幾個組件:
    • Eureka:服務治理組件,包含服務註冊與發現
    • Hystrix:容錯管理組件,實現了熔斷器
    • Ribbon:客戶端負載均衡的服務調用組件
    • Feign:基於Ribbon和Hystrix的聲明式服務調用組件
    • Zuul:網關組件,提供智能路由、訪問過濾等功能
    • Archaius:外部化配置組件
    • Spring Cloud Config:配置管理工具,實現應用配置的外部化存儲,支持客戶端配置信息刷新、加密/解密配置內容等。
    • Spring Cloud Bus:事件、消息總線,用於傳播集羣中的狀態變化或事件,以及觸發後續的處理
    • Spring Cloud Security:基於spring security的安全工具包,爲咱們的應用程序添加安全控制
    • Spring Cloud Consul : 封裝了Consul操做,Consul是一個服務發現與配置工具(與Eureka做用相似),與Docker容器能夠無縫集成
相關文章
相關標籤/搜索