欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Spring Cloud Ribbon客戶(hù)端詳細(xì)介紹

 更新時(shí)間:2022年09月01日 17:06:41   作者:一個(gè)風(fēng)輕云淡  
Spring Cloud Ribbon 是一套基于 Netflix Ribbon 實(shí)現(xiàn)的客戶(hù)端負(fù)載均衡和服務(wù)調(diào)用工具。通過(guò)Spring Cloud的封裝,可以讓我們輕松地將面向服務(wù)的REST模版請(qǐng)求自動(dòng)轉(zhuǎn)換成客戶(hù)端負(fù)載均衡的服務(wù)調(diào)用

前言

Spring Cloud Ribbon是基于Netflix Ribbon實(shí)現(xiàn)的一套客戶(hù)端 負(fù)載均衡的工具。(負(fù)載均衡+RestTemplate調(diào)用)

簡(jiǎn)單的說(shuō),Ribbon是Netflix發(fā)布的開(kāi)源項(xiàng)目,主要功能是提供客戶(hù)端的軟件負(fù)載均衡算法和服務(wù)調(diào)用。Ribbon客戶(hù)端組件提供一系列完善的配置項(xiàng)如連接超時(shí),重試等。簡(jiǎn)單的說(shuō),就是在配置文件中列出Load Balancer(簡(jiǎn)稱(chēng)LB)后面所有的機(jī)器,Ribbon會(huì)自動(dòng)的幫助你基于某種規(guī)則(如簡(jiǎn)單輪詢(xún),隨機(jī)連接等)去連接這些機(jī)器。我們很容易使用Ribbon實(shí)現(xiàn)自定義的負(fù)載均衡算法。

官網(wǎng)地址-傳送門(mén)

LB負(fù)載均衡(Load Balance)是什么

簡(jiǎn)單的說(shuō)就是將用戶(hù)的請(qǐng)求平攤的分配到多個(gè)服務(wù)上,從而達(dá)到系統(tǒng)的HA(高可用)。

常見(jiàn)的負(fù)載均衡有軟件Nginx,LVS,硬件 F5等。

Ribbon本地負(fù)載均衡客戶(hù)端 VS Nginx服務(wù)端負(fù)載均衡區(qū)別

Nginx是服務(wù)器負(fù)載均衡,客戶(hù)端所有請(qǐng)求都會(huì)交給nginx,然后由nginx實(shí)現(xiàn)轉(zhuǎn)發(fā)請(qǐng)求。即負(fù)載均衡是由服務(wù)端實(shí)現(xiàn)的。

Ribbon本地負(fù)載均衡,在調(diào)用微服務(wù)接口時(shí)候,會(huì)在注冊(cè)中心上獲取注冊(cè)信息服務(wù)列表之后緩存到JVM本地,從而在本地實(shí)現(xiàn)RPC遠(yuǎn)程服務(wù)調(diào)用技術(shù)。

集中式LB-->

即在服務(wù)的消費(fèi)方和提供方之間使用獨(dú)立的LB設(shè)施(可以是硬件,如F5, 也可以是軟件,如nginx), 由該設(shè)施負(fù)責(zé)把訪問(wèn)請(qǐng)求通過(guò)某種策略轉(zhuǎn)發(fā)至服務(wù)的提供方;

進(jìn)程內(nèi)LB-->

將LB邏輯集成到消費(fèi)方,消費(fèi)方從服務(wù)注冊(cè)中心獲知有哪些地址可用,然后自己再?gòu)倪@些地址中選擇出一個(gè)合適的服務(wù)器。

Ribbon就屬于進(jìn)程內(nèi)LB,它只是一個(gè)類(lèi)庫(kù),集成于消費(fèi)方進(jìn)程,消費(fèi)方通過(guò)它來(lái)獲取到服務(wù)提供方的地址。

Ribbon核心組件IRule

IRule:根據(jù)特定算法中從服務(wù)列表中選取一個(gè)要訪問(wèn)的服務(wù)

如何替換

官方文檔明確給出了警告:

這個(gè)自定義配置類(lèi)不能放在@ComponentScan所掃描的當(dāng)前包下以及子包下,

否則我們自定義的這個(gè)配置類(lèi)就會(huì)被所有的Ribbon客戶(hù)端所共享,達(dá)不到特殊化定制的目的了。

修改為隨機(jī)

@Configuration
public class MySelfRule
{
    @Bean
    public IRule myRule()
    {
        return new RandomRule();//定義為隨機(jī)
    }
}
@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客戶(hù)端詳細(xì)介紹的文章就介紹到這了,更多相關(guān)Spring Cloud Ribbon內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論