更新時間:2021-06-11 來源:黑馬程序員 瀏覽量:
SpringCloud是一系列框架的有序集合,它利用SpringBoot 的開發(fā)便利性簡化了分布式系統(tǒng)的開發(fā),比如服務發(fā)現(xiàn).服務網(wǎng)關.服務路由.鏈路追蹤等。其設計目的是為了簡化Spring 應用的搭建和開發(fā)過程。該框架遵循“約定大于配置”原則,采用特定的方式進行配置,從而使開發(fā)者無需定義大量的XML配置。通過這種方式,SpringBoot 致力于在蓬勃發(fā)展的快速應用開發(fā)領域成為領導者。SpringCloud 并不重復造輪子,而是將市面上開發(fā)得比較好的模塊集成進去,進行封裝,從而減少了各模塊的開發(fā)成本。換句話說:Spring cloud提供了構建分布式系統(tǒng)所需的“全家桶”。核心組件如下:
Eureka:各個服務啟動時,Eureka Client 都會將服務注冊到Eureka Server,并且Eureka Client 還可以反過來從Eureka Server 拉取注冊表,從而知道其他服務在哪里
Ribbon:服務間發(fā)起請求的時候,基于Ribbon 做負載均衡,從一個服務的多臺機器中選擇一臺
Feign:基于Feign 的動態(tài)代理機制,根據(jù)注解和選擇的機器,拼接請求URL地址,發(fā)起請求
Hystrix:發(fā)起請求是通過Hystrix 的線程池來走的,不同的服務走不同的線程池,實現(xiàn)了不同服務調(diào)用的隔離,避免了服務雪崩的問題
Zuul:如果前端.移動端要調(diào)用后端系統(tǒng),統(tǒng)一從Zuul 網(wǎng)關進入,由Zuul網(wǎng)關轉(zhuǎn)發(fā)請求給對應的服務
猜你喜歡:
Spring中的JDK動態(tài)代理是如何實現(xiàn)的?