您好,登錄后才能下訂單哦!
SpringCloud中的Ribbon有什么作用,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
Spring Cloud Ribbon 是一個基于TCP和HTTP的客戶端負載均衡工具,基于Netflix Ribbon實現。雖然是一個工具類框架,它不像服務注冊中心,網關等單獨部署,不過它幾乎存在于每一個Spring Cloud 構建的微服務體系和基礎設施中。在微服務間的調用,API網觀的請求轉發等實際上都是通過Ribbon來實現的。包括我們常用到的Feign,也是依賴于Ribbon來實現的工具。
客戶端負載均衡
負載均衡在系統架構中非常重要,并且是不得不去實施的內容。負載均衡對系統高可用,網絡壓力的處理,系統擴容的重要手段。我們通常所說的負載均衡是指服務端復雜均衡。如常規的硬件負載均衡F5,以及軟件負載均衡Nginx等。這些都會在軟件模塊維護一個下掛可用的服務端清單,通過心跳檢測來剔除故障的節點以保證清單中都是可用的服務端節點。當客戶端發送請求到達負載均衡設備的時候,改設備按照某種算法(線性輪詢,按權重輪詢,按流量負載,隨機等)從維護的可用服務清單中取出一臺服務端地址,然后進行轉發。
客戶端負載均衡和服務端負載最大的不同點在于服務列表清單存儲的位置。在客戶端負載均衡中,所有客戶端節點都要維護自己要訪問的服務端清單。這些數據來源于注冊中心,比如Eureka服務端。在客戶端負載均衡中也需要心跳去維護服務端清單的健康性,默認會創建針對各個服務治理框架的Ribbon自動化整合配置,比如Eureka中的org.springframework.cloud.netflix.ribbon.eureka.RibbonEurekaAutoConfiguration。
通過Spring Cloud Ribbon的封裝,我們在微服務架構中使用客戶端負載均衡非常簡單,只需要兩步:
1.服務提供者注冊到服務注冊中心。
2.服務消費者直接通過調用被@LoadBalance注解修飾過的RestTemplete來現實面向服務的接口調用。
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。