spring cloud

一系列框架的有序集合

Spring Cloud是一系列框架的有序集合。它利用Spring Boot的開發便利性巧妙地簡化了分散式系統基礎設施的開發,如服務發現註冊、配置中心、消息匯流排、負載均衡、斷路器、數據監控等,都可以用Spring Boot的開發風格做到一鍵啟動和部署。Spring Cloud並沒有重複製造輪子,它只是將目前各家公司開發的比較成熟、經得起實際考驗的服務框架組合起來,通過Spring Boot風格進行再封裝屏蔽掉了複雜的配置和實現原理,最終給開發者留出了一套簡單易懂、易部署和易維護的分散式系統開發工具包。

集合組成


Spring Cloud的子項目,大致可分成兩類,一類是對現有成熟框架”Spring Boot化”的封裝和抽象,也是數量最多的項目;第二類是開發了一部分分散式系統的基礎設施的實現,如Spring Cloud Stream扮演的就是kafka,ActiveMQ這樣的角色。對於我們想快速實踐微服務的開發者來說,第一類子項目就已經足夠使用,如:
•Spring Cloud Netflix:是對Netflix開發的一套分散式服務框架的封裝,包括服務的發現和註冊,負載均衡、斷路器、REST客戶端、請求路由等。
•Spring Cloud Config:將配置信息中央化保存,配置Spring Cloud Bus可以實現動態修改配置文件
•Spring Cloud Bus:分散式消息隊列,是對Kafka,MQ的封裝
•Spring Cloud Security:對Spring Security的封裝,並能配合Netflix使用
Spring Cloud Zookeeper:對Zookeeper的封裝,使之能配置其它Spring Cloud的子項目使用
•Spring Cloud Eureka
•Spring Cloud Eureka是Spring Cloud Netflix微服務套件中的一部分,它基於Netflix Eureka做了二次封裝,主要負責完成微服務架構中的服務治理功能。

集合前景


Spring Cloud對於中小型網際網路公司來說是一種福音,因為這類公司往往沒有實力或者沒有足夠的資金投入去開發自己的分散式系統基礎設施,使用Spring Cloud一站式解決方案能在從容應對業務發展的同時大大減少開發成本。同時,隨著近幾年微服務架構和Docker容器概念的火爆,也會讓Spring Cloud在未來越來越“雲”化的軟體開發風格中立有一席之地,尤其是在目前五花八門的分散式解決方案中提供了標準化的、全站式的技術方案,意義可能會堪比當年Servlet規範的誕生,有效推進服務端軟體系統技術水平的進步。