Spring Cloud是一系列框架的有序集合。利用Spring Boot的開(kāi)發(fā)模式簡(jiǎn)化了分布式系統(tǒng)基礎(chǔ)設(shè)施的開(kāi)發(fā),如服務(wù)發(fā)現(xiàn)、注冊(cè)、配置中心、消息總線、負(fù)載均衡、斷路器、數(shù)據(jù)監(jiān)控等(這里只簡(jiǎn)單的列了一部分),都可以用Spring Boot的開(kāi)發(fā)風(fēng)格做到一鍵啟動(dòng)和部署。Spring Cloud將目前比較成熟、經(jīng)得起實(shí)際考驗(yàn)的服務(wù)框架組合起來(lái),通過(guò)Spring Boot風(fēng)格進(jìn)行再封裝,屏蔽掉了復(fù)雜的配置和實(shí)現(xiàn)原理,最終整合出一套簡(jiǎn)單易懂、易部署和易維護(hù)的分布式系統(tǒng)架構(gòu)平臺(tái)。
Spring Cloud組成:Spring Cloud的子項(xiàng)目,大致可分成兩類:一類是對(duì)現(xiàn)有成熟框架Spring Boot的封裝和抽象,也是數(shù)量最多的項(xiàng)目;第二類是開(kāi)發(fā)了一部分分布式系統(tǒng)的基礎(chǔ)設(shè)施的實(shí)現(xiàn),如Spring Cloud Stream就是kafka, ActiveMQ這樣的角色。開(kāi)發(fā)人員進(jìn)行微服務(wù)的實(shí)踐,第一類子項(xiàng)目就已經(jīng)足夠使用,如:
Spring Cloud Netflix
是對(duì)Netflix開(kāi)發(fā)的一套分布式服務(wù)框架的封裝,包括服務(wù)的發(fā)現(xiàn)和注冊(cè),負(fù)載均衡、斷路器、REST客戶端、請(qǐng)求路由等。
Spring Cloud Config
將配置信息中央化保存, 配置Spring Cloud Bus可以實(shí)現(xiàn)動(dòng)態(tài)修改配置文件。
Spring Cloud Bus
分布式消息隊(duì)列,是對(duì)Kafka, MQ的封裝。
Spring Cloud Security
對(duì)Spring Security的封裝,并能配合Netflix使用。
Spring Cloud Zookeeper
對(duì)Zookeeper的封裝,使之能配置其它Spring Cloud的子項(xiàng)目使用。
Spring Cloud Eureka
Spring Cloud Eureka 是 Spring Cloud Netflix 微服務(wù)套件中的一部分,它基于Netflix Eureka 做了二次分裝,主要負(fù)責(zé)完成微服務(wù)架構(gòu)中的服務(wù)治理功能。
Spring Cloud為未來(lái)互聯(lián)網(wǎng)企業(yè)提供分布式基礎(chǔ)設(shè)施解決方案。同時(shí),隨著近幾年微服務(wù)架構(gòu)和Docker容器概念的火爆,也會(huì)讓Spring Cloud在未來(lái)越來(lái)越“云”化的軟件開(kāi)發(fā)風(fēng)格中立有一席之地,尤其是在目前五花八門的分布式解決方案中提供了標(biāo)準(zhǔn)化的、全站式的技術(shù)方案,有效推進(jìn)服務(wù)端軟件系統(tǒng)技術(shù)水平提升。
從現(xiàn)在開(kāi)始,我這邊會(huì)將近期研發(fā)的spring cloud微服務(wù)云架構(gòu)的搭建過(guò)程和精髓記錄下來(lái),幫助更多有興趣研發(fā)spring cloud框架的朋友,大家來(lái)一起探討spring cloud架構(gòu)的搭建過(guò)程及如何運(yùn)用于企業(yè)項(xiàng)目。資料源碼來(lái)源