SpringCloud系列教程 | 第一篇:介紹
首先講一下我為什么要寫這一系列的文章,現(xiàn)在網(wǎng)上大量的springcloud相關(guān)的文章,使用的springboot和springcloud的版本都相對比較老,很多還是在使用springboot1.x的版本,如果嘗鮮想使用springboot2.x的版本,很多配置都和之前的不一樣,有了大量的修改,很多剛開始學(xué)習(xí)的朋友可能試一試搭不起來就放棄了,本系列教程就是幫助剛接觸springcloud的朋友簡單上手,快速起步。
springboot進入2.x以后,歷經(jīng)一年多的修修改改,終于到了2.1.x的版本,相對較為穩(wěn)定,本系列教程將使用目前最新的springboot(2.1.6.RELEASE)和springcloud(Greenwich.SR1)版本(如無特殊說明)。
Spring Cloud是一系列框架的有序集合。它利用Spring Boot的開發(fā)便利性巧妙地簡化了分布式系統(tǒng)基礎(chǔ)設(shè)施的開發(fā),如服務(wù)發(fā)現(xiàn)注冊、配置中心、消息總線、負(fù)載均衡、斷路器、數(shù)據(jù)監(jiān)控等,都可以用Spring Boot的開發(fā)風(fēng)格做到一鍵啟動和部署。Spring Cloud并沒有重復(fù)制造輪子,它只是將目前各家公司開發(fā)的比較成熟、經(jīng)得起實際考驗的服務(wù)框架組合起來,通過Spring Boot風(fēng)格進行再封裝屏蔽掉了復(fù)雜的配置和實現(xiàn)原理,最終給開發(fā)者留出了一套簡單易懂、易部署和易維護的分布式系統(tǒng)開發(fā)工具包。
– 以上內(nèi)容摘自百度百科
百度百科的解釋看起來文縐縐的,可能剛接觸的朋友很多新名詞都看不大懂。我的理解就是springcloud為項目微服務(wù)化提供了一系列的工具,常用的包括注冊中心,斷路器,配置中心,消息總線等等,簡單理解就是springcloud提供了一系列的工具或者框架,當(dāng)然,還包含很多設(shè)計思想。
2. 微服務(wù)架構(gòu)選型為什么選擇springcloud而不會dubbo?
這里僅代表我的個人觀點,歡迎交流:)
說到這個,就要先聊一下什么是微服務(wù)了。
微服務(wù)(Microservices):?是一種架構(gòu)風(fēng)格,一個大型復(fù)雜軟件應(yīng)用由一個或多個微服務(wù)組成。系統(tǒng)中的各個微服務(wù)可被獨立部署,各個微服務(wù)之間是松耦合的。每個微服務(wù)僅關(guān)注于完成一件任務(wù)并很好地完成該任務(wù)。在所有情況下,每個任務(wù)代表著一個小的業(yè)務(wù)能力。
Dubbo:?Dubbo是一個分布式服務(wù)框架,致力于提供高性能和透明化的 RPC 遠(yuǎn)程服務(wù)調(diào)用方案,以及 SOA 服務(wù)治理方案。簡單的說,Dubbo 就是個服務(wù)框架,說白了就是個遠(yuǎn)程服務(wù)調(diào)用的分布式框架。
springcloud:?springcloud是一整套的微服務(wù)解決方案,有一張很有名的對比圖可以清晰看到dubbo和springcloud功能對比,如下:
如果微服務(wù)架構(gòu)選型選擇了dubbo,那么后續(xù)一些其他的組件,還需要我們自己去評估目前市面上一些開源的組件是否符合我們的需要,而如果架構(gòu)選型選擇了springcloud,那么就能省心很多,springcloud本身就提供了一整套的微服務(wù)的解決方案,雖然有很多組件目前看起來依然不是很成熟,不過這依然大大降低了我們在架構(gòu)選型上的工作量。
Spring Cloud Config 配置中心:?利用 Git 集中管理程序的配置。
Spring Cloud Netflix Eureka:?服務(wù)中心(類似于管家的概念,需要什么直接從這里取,就可以了),一個基于 REST 的服務(wù),用于定位服務(wù),以實現(xiàn)云端中間層服務(wù)發(fā)現(xiàn)和故障轉(zhuǎn)移。
Spring Cloud Netflix Hystrix 熔斷器:?容錯管理工具,旨在通過熔斷機制控制服務(wù)和第三方庫的節(jié)點,從而對延遲和故障提供更強大的容錯能力。
Spring Cloud Netflix Zuul 網(wǎng)關(guān):?是在云平臺上提供動態(tài)路由,監(jiān)控,彈性,安全等邊緣服務(wù)的框架。Web 網(wǎng)站后端所有請求的前門。
Spring Cloud Netflix Archaius:?配置管理 API,包含一系列配置管理API,提供動態(tài)類型化屬性、線程安全配置操作、輪詢框架、回調(diào)機制等功能。
Spring Cloud Netflix Ribbon:?負(fù)載均衡。
Spring Cloud Netflix Fegin:?REST客戶端。
Spring Cloud Bus:?消息總線,利用分布式消息將服務(wù)和服務(wù)實例連接在一起,用于在一個集群中傳播狀態(tài)的變化。
Spring Cloud Security:?安全控制。
Spring Cloud Sleuth:?分布式鏈路監(jiān)控,SpringCloud 應(yīng)用的分布式追蹤系統(tǒng),和 Zipkin,HTrace,ELK 兼容。
Spring Cloud Stream:?消息組件,基于 Redis,Rabbit,Kafka 實現(xiàn)的消息微服務(wù),簡單聲明模型用以在 Spring Cloud 應(yīng)用中收發(fā)消息。
下面一篇,開始springcloud的搭建。
原文出處:https://blog.csdn.net/meteor_93/article/details/94356279