SpringCloud是什么?

SpringCloud 是什么?

此處引用Spring Cloud與分布式系統(tǒng)文章,來(lái)探討Spring Cloud是什么,以及它誕生的背景和意義?

背景

2008年以后,國(guó)內(nèi)互聯(lián)網(wǎng)行業(yè)飛速發(fā)展,我們對(duì)軟件系統(tǒng)的需求已經(jīng)不再是過(guò)去”能用就行”這種很low的檔次了,像搶紅包、雙十一這樣的活動(dòng)不斷逼迫我們?nèi)ネ黄栖浖到y(tǒng)的性能上限,傳統(tǒng)的IT企業(yè)”能用就行”的開(kāi)發(fā)思想已經(jīng)不能滿足互聯(lián)網(wǎng)高并發(fā)、大流量的性能要求。系統(tǒng)架構(gòu)走向分布式已經(jīng)是服務(wù)器開(kāi)發(fā)領(lǐng)域解決該問(wèn)題唯一的出路,然而分布式系統(tǒng)由于天生的復(fù)雜度,并不像開(kāi)發(fā)單體應(yīng)用一樣把框架一堆就能搞定,因此各大互聯(lián)網(wǎng)公司都在投入技術(shù)力量研發(fā)自己的基礎(chǔ)設(shè)施。這里面比較有名的如阿里的開(kāi)源項(xiàng)目dubbo, Netflix開(kāi)發(fā)的一系列服務(wù)框架。在這種“百花齊放”、重復(fù)造輪子的狀況下,必然要出現(xiàn)一種統(tǒng)一的標(biāo)準(zhǔn)來(lái)簡(jiǎn)化分布式系統(tǒng)的開(kāi)發(fā),Spring Cloud應(yīng)運(yùn)而生。

Spring Cloud是什么

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)控等,都可以用Spring Boot的開(kāi)發(fā)風(fēng)格做到一鍵啟動(dòng)和部署。Spring并沒(méi)有重復(fù)制造輪子,它只是將目前各家公司開(kāi)發(fā)的比較成熟、經(jīng)得起實(shí)際考驗(yàn)的服務(wù)框架組合起來(lái),通過(guò)Spring Boot風(fēng)格進(jìn)行再封裝屏蔽掉了復(fù)雜的配置和實(shí)現(xiàn)原理,最終給開(kāi)發(fā)者留出了一套簡(jiǎn)單易懂、易部署和易維護(hù)的分布式系統(tǒng)開(kāi)發(fā)工具包。

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這樣的角色。對(duì)于我們想快速實(shí)踐微服務(wù)的開(kāi)發(fā)者來(lái)說(shuō),第一類子項(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前景

Spring Cloud對(duì)于中小型互聯(lián)網(wǎng)公司來(lái)說(shuō)是一種福音,因?yàn)檫@類公司往往沒(méi)有實(shí)力或者沒(méi)有足夠的資金投入去開(kāi)發(fā)自己的分布式系統(tǒng)基礎(chǔ)設(shè)施,使用Spring Cloud一站式解決方案能在從容應(yīng)對(duì)業(yè)務(wù)發(fā)展的同時(shí)大大減少開(kāi)發(fā)成本。同時(shí),隨著近幾年微服務(wù)架構(gòu)和Docker容器概念的火爆,也會(huì)讓Spring Cloud在未來(lái)越來(lái)越“云”化的軟件開(kāi)發(fā)風(fēng)格中立有一席之地,尤其是在目前五花八門(mén)的分布式解決方案中提供了標(biāo)準(zhǔn)化的、全站式的技術(shù)方案,意義可能會(huì)堪比當(dāng)前Servlet規(guī)范的誕生,有效推進(jìn)服務(wù)端軟件系統(tǒng)技術(shù)水平的進(jìn)步。

轉(zhuǎn)載來(lái)至Spring Cloud與分布式系統(tǒng)

> github地址:[Spring Boot 教程、技術(shù)棧、示例代碼](https://github.com/chinashuai/spring-boot-example-all)

![掃碼關(guān)注公眾號(hào):java之旅](https://upload-images.jianshu.io/upload_images/2710833-917dd89795bb306a.png)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容