SpringCloud 五大核心組件,一篇就能搞定!
閱讀本文大概需要 3 分鐘。
來自:https://blog.csdn.net/weixin_46115725/
一、首先看一張springCloud的圖片:

二、簡單介紹下什么是springCloud
三、為了方便理解假設一個業(yè)務場景
創(chuàng)建一個訂單后,如果用戶立刻支付了這個訂單,我們需要將這個訂單狀態(tài)更新為(已經支付) 扣減相對應的商品庫存 通知倉儲中心,進行發(fā)貨 給用戶這次購物怎加相對應的積分
用戶針對一個訂單完成支付后,就回去找訂單服務,更新訂單狀態(tài) 訂單服務調用庫存服務,完成相應的功能 訂單服務調用倉儲服務,完成相應的功能 訂單服務調用積分服務,完成相應的功能

四、SpringCloud核心組件Eureka(類似于zookeeper)

Eurake客戶端:負責將這個服務的信息注冊到Eureka服務端中 Eureka服務端:相當于一個注冊中心,里面有注冊表,注冊表中保存了各個服務所在的機器和端口號,可以通過Eureka服務端找到各個服務
五、SpringCloud核心組件:Feign(類似于dubbo)


首先,如果你對某個接口定義了 @FeignClient注解,Feign就會針對這個接口創(chuàng)建一個動態(tài)代理接著你要是調用那個接口,本質就是會調用 Feign創(chuàng)建的動態(tài)代理,這是核心中的核心 Feign的動態(tài)代理會根據你在接口上的 @RequestMapping等注解,來動態(tài)構造出你要請求的服務的地址最后針對這個地址,發(fā)起請求、解析響應

六、springCloud核心組件:Ribbon

七、SpringCloud的核心組件:Hystrix


八、SpringCloud核心組件:zull(類似于服務器端的nginx)
inventory-service,并且部署在5臺機器上,就算人家肯記住這一個,那你后臺可有幾百個服務的名稱和地址呢?難不成人家請求一個,就得記住一個?哈哈哈九、簡單總結
Eureka:服務啟動的時候,服務上的Eureka客戶端會把自身注冊到Eureka服務端,并且可以通過Eureka服務端知道其他注冊的服務 Ribbon:服務間發(fā)起請求的時候,服務消費者方基于Ribbon服務做到負載均衡,從服務提供者存儲的多臺機器中選擇一臺,如果一個服務只在一臺機器上面,那就用不到Ribbon選擇機器了,如果有多臺機器,那就需要使用Ribbon選擇之后再去使用 Feign:Feign使用的時候會集成Ribbon,Ribbon去Eureka服務端中找到服務提供者的所在的服務器信息,然后根據隨機策略選擇一個,拼接Url地址后發(fā)起請求 Hystrix:發(fā)起的請求是通過Hystrix的線程池去訪問服務,不同的服務通過不同的線程池,實現了不同的服務調度隔離,如果服務出現故障,通過服務熔斷,避免服務雪崩的問題 ,并且通過服務降級,保證可以手動實現服務正常功能 Zuul:如果前端調用后臺系統(tǒng),統(tǒng)一走zull網關進入,通過zull網關轉發(fā)請求給對應的服務

推薦閱讀:
內容包含Java基礎、JavaWeb、MySQL性能優(yōu)化、JVM、鎖、百萬并發(fā)、消息隊列、高性能緩存、反射、Spring全家桶原理、微服務、Zookeeper......等技術棧!
?戳閱讀原文領??! 朕已閱 
評論
圖片
表情

