Spring Cloud學(xué)習(xí)入門(mén)

時(shí)間5.13號(hào),最近確定了考研復(fù)試通過(guò)了,提前了找了老師,早早聯(lián)系上了我希望我接手實(shí)驗(yàn)室的工作,所以開(kāi)始學(xué)習(xí)Spring Cloud相關(guān)的知識(shí)。


1.什么是Spring Cloud?

之前有Spring Boot開(kāi)發(fā)經(jīng)驗(yàn)的人都知道,項(xiàng)目初期使用Spring Boot開(kāi)發(fā)是相當(dāng)輕松的,配置、依賴、數(shù)據(jù)庫(kù)、服務(wù)的實(shí)現(xiàn)可以說(shuō)是一氣呵成的。但這是業(yè)務(wù)比較簡(jiǎn)單的情況,隨著業(yè)務(wù)的復(fù)雜,單個(gè)項(xiàng)目的結(jié)構(gòu)也會(huì)越來(lái)越復(fù)雜,主要體現(xiàn)在以下幾點(diǎn):

  • 代碼結(jié)構(gòu)混亂:多個(gè)業(yè)務(wù)需要多種服務(wù),服務(wù)的復(fù)雜導(dǎo)致代碼量增大,代碼的管理越來(lái)越復(fù)雜,版本的迭代也越來(lái)越復(fù)雜。
  • 開(kāi)發(fā)效率降低:多個(gè)開(kāi)發(fā)人員開(kāi)發(fā)同一套代碼很難避免代碼沖突。開(kāi)發(fā)過(guò)程會(huì)伴隨著不斷解決沖突的過(guò)程,這會(huì)嚴(yán)重的影響開(kāi)發(fā)效率。
  • 排查解決問(wèn)題成本高:線上業(yè)務(wù)發(fā)現(xiàn) bug,修復(fù) bug 的過(guò)程可能很簡(jiǎn)單。但是,由于只有一套代碼,需要重新編譯、打包、上線,成本很高。
    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)和部署。

2.集群/分布式/微服務(wù)/SOA是什么?

2.1.集群

  • 通過(guò)多臺(tái)計(jì)算機(jī)完成同一個(gè)工作,達(dá)到更高的效率。
  • 兩機(jī)或多機(jī)內(nèi)容、工作過(guò)程等完全一樣。如果一臺(tái)死機(jī),另一臺(tái)可以起作用。

2.2.分布式

一個(gè)業(yè)務(wù)分拆多個(gè)子業(yè)務(wù),部署在不同的服務(wù)器上(不同的服務(wù)器,運(yùn)行不同的代碼,為了同一個(gè)目的)。

2.3.分布式集群

既差分業(yè)務(wù),也使用多臺(tái)計(jì)算機(jī)完成同一個(gè)工作。

2.4.微服務(wù)

在分布式集群的基礎(chǔ)上,各服務(wù)之間的隔離度自治度更高,各服務(wù)可獨(dú)立應(yīng)用,組合服務(wù)也可系統(tǒng)應(yīng)用。


3.和Spring Boot的關(guān)系

  1. Spring Boot 是 Spring 的一套快速配置腳手架,可以基于Spring Boot 快速開(kāi)發(fā)單個(gè)微服務(wù),Spring Cloud是一個(gè)基于Spring Boot實(shí)現(xiàn)的云應(yīng)用開(kāi)發(fā)工具。Spring -> Spring Boot > Spring Cloud 這樣的關(guān)系。
  2. Spring Boot可以離開(kāi)Spring Cloud獨(dú)立使用開(kāi)發(fā)項(xiàng)目,但是Spring Cloud離不開(kāi)Spring Boot,屬于依賴的關(guān)系
  3. Spring Boot專注于快速、方便集成的單個(gè)個(gè)體微服務(wù),Spring Cloud是關(guān)注全局的服務(wù)治理框架
  4. Spring Boot使用了默認(rèn)大于配置的理念,很多集成方案已經(jīng)幫你選擇好了,能不配置就不配置,Spring Cloud很大的一部分是基于Spring Boot來(lái)實(shí)現(xiàn)的

參考資料

  1. Spring Cloud入門(mén)-十分鐘了解Spring Cloud -CSDN
    https://blog.csdn.net/ThinkWon/article/details/103715146
  2. Spring cloud應(yīng)該怎么入門(mén)? - 知乎
    https://www.zhihu.com/question/283286745
?著作權(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ù)。

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