Spring Cloud Ribbon客戶端詳細(xì)介紹
前言
Spring Cloud Ribbon是基于Netflix Ribbon實現(xiàn)的一套客戶端 負(fù)載均衡的工具。(負(fù)載均衡+RestTemplate調(diào)用)
簡單的說,Ribbon是Netflix發(fā)布的開源項目,主要功能是提供客戶端的軟件負(fù)載均衡算法和服務(wù)調(diào)用。Ribbon客戶端組件提供一系列完善的配置項如連接超時,重試等。簡單的說,就是在配置文件中列出Load Balancer(簡稱LB)后面所有的機器,Ribbon會自動的幫助你基于某種規(guī)則(如簡單輪詢,隨機連接等)去連接這些機器。我們很容易使用Ribbon實現(xiàn)自定義的負(fù)載均衡算法。
官網(wǎng)地址-傳送門
LB負(fù)載均衡(Load Balance)是什么
簡單的說就是將用戶的請求平攤的分配到多個服務(wù)上,從而達(dá)到系統(tǒng)的HA(高可用)。
常見的負(fù)載均衡有軟件Nginx,LVS,硬件 F5等。
Ribbon本地負(fù)載均衡客戶端 VS Nginx服務(wù)端負(fù)載均衡區(qū)別
Nginx是服務(wù)器負(fù)載均衡,客戶端所有請求都會交給nginx,然后由nginx實現(xiàn)轉(zhuǎn)發(fā)請求。即負(fù)載均衡是由服務(wù)端實現(xiàn)的。
Ribbon本地負(fù)載均衡,在調(diào)用微服務(wù)接口時候,會在注冊中心上獲取注冊信息服務(wù)列表之后緩存到JVM本地,從而在本地實現(xiàn)RPC遠(yuǎn)程服務(wù)調(diào)用技術(shù)。
集中式LB-->
即在服務(wù)的消費方和提供方之間使用獨立的LB設(shè)施(可以是硬件,如F5, 也可以是軟件,如nginx), 由該設(shè)施負(fù)責(zé)把訪問請求通過某種策略轉(zhuǎn)發(fā)至服務(wù)的提供方;
進程內(nèi)LB-->
將LB邏輯集成到消費方,消費方從服務(wù)注冊中心獲知有哪些地址可用,然后自己再從這些地址中選擇出一個合適的服務(wù)器。
Ribbon就屬于進程內(nèi)LB,它只是一個類庫,集成于消費方進程,消費方通過它來獲取到服務(wù)提供方的地址。
Ribbon核心組件IRule
IRule:根據(jù)特定算法中從服務(wù)列表中選取一個要訪問的服務(wù)

如何替換
官方文檔明確給出了警告:
這個自定義配置類不能放在@ComponentScan所掃描的當(dāng)前包下以及子包下,
否則我們自定義的這個配置類就會被所有的Ribbon客戶端所共享,達(dá)不到特殊化定制的目的了。

修改為隨機
@Configuration
public class MySelfRule
{
@Bean
public IRule myRule()
{
return new RandomRule();//定義為隨機
}
}@SpringBootApplication
@EnableEurekaClient
@RibbonClient(name = "CLOUD-PAYMENT-SERVICE",configuration=MySelfRule.class)
public class OrderMain80
{
public static void main(String[] args)
{
SpringApplication.run(OrderMain80.class,args);
}
}到此這篇關(guān)于Spring Cloud Ribbon客戶端詳細(xì)介紹的文章就介紹到這了,更多相關(guān)Spring Cloud Ribbon內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Spring?Cloud?Ribbon的使用原理解析
- SpringCloud超詳細(xì)講解負(fù)載均衡組件Ribbon源碼
- SpringCloud?客戶端Ribbon負(fù)載均衡的實現(xiàn)方法
- Spring?Cloud負(fù)載均衡組件Ribbon原理解析
- Spring?Cloud?Ribbon?中的?7?種負(fù)載均衡策略的實現(xiàn)方法
- 關(guān)于SpringCloud?Ribbon替換輪詢算法問題
- 聊聊SpringCloud中的Ribbon進行服務(wù)調(diào)用的問題
- spring cloud 集成 ribbon負(fù)載均衡的實例代碼
- 深入理解Java SpringCloud Ribbon 負(fù)載均衡
相關(guān)文章
Java負(fù)載均衡算法實現(xiàn)之輪詢和加權(quán)輪詢
網(wǎng)上找了不少負(fù)載均衡算法的資源,都不夠全面,后來自己結(jié)合了網(wǎng)上的一些算法實現(xiàn),下面這篇文章主要給大家介紹了關(guān)于Java負(fù)載均衡算法實現(xiàn)之輪詢和加權(quán)輪詢的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-04-04
Java從網(wǎng)絡(luò)讀取圖片并保存至本地實例
這篇文章主要為大家詳細(xì)介紹了Java從網(wǎng)絡(luò)讀取圖片并保存至本地的實例,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-04-04

