亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Spring Cloud Ribbon客戶端詳細介紹

 更新時間:2022年09月01日 17:06:41   作者:一個風輕云淡  
Spring Cloud Ribbon 是一套基于 Netflix Ribbon 實現的客戶端負載均衡和服務調用工具。通過Spring Cloud的封裝,可以讓我們輕松地將面向服務的REST模版請求自動轉換成客戶端負載均衡的服務調用

前言

Spring Cloud Ribbon是基于Netflix Ribbon實現的一套客戶端 負載均衡的工具。(負載均衡+RestTemplate調用)

簡單的說,Ribbon是Netflix發(fā)布的開源項目,主要功能是提供客戶端的軟件負載均衡算法和服務調用。Ribbon客戶端組件提供一系列完善的配置項如連接超時,重試等。簡單的說,就是在配置文件中列出Load Balancer(簡稱LB)后面所有的機器,Ribbon會自動的幫助你基于某種規(guī)則(如簡單輪詢,隨機連接等)去連接這些機器。我們很容易使用Ribbon實現自定義的負載均衡算法。

官網地址-傳送門

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

簡單的說就是將用戶的請求平攤的分配到多個服務上,從而達到系統(tǒng)的HA(高可用)。

常見的負載均衡有軟件Nginx,LVS,硬件 F5等。

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

Nginx是服務器負載均衡,客戶端所有請求都會交給nginx,然后由nginx實現轉發(fā)請求。即負載均衡是由服務端實現的。

Ribbon本地負載均衡,在調用微服務接口時候,會在注冊中心上獲取注冊信息服務列表之后緩存到JVM本地,從而在本地實現RPC遠程服務調用技術。

集中式LB-->

即在服務的消費方和提供方之間使用獨立的LB設施(可以是硬件,如F5, 也可以是軟件,如nginx), 由該設施負責把訪問請求通過某種策略轉發(fā)至服務的提供方;

進程內LB-->

將LB邏輯集成到消費方,消費方從服務注冊中心獲知有哪些地址可用,然后自己再從這些地址中選擇出一個合適的服務器。

Ribbon就屬于進程內LB,它只是一個類庫,集成于消費方進程,消費方通過它來獲取到服務提供方的地址。

Ribbon核心組件IRule

IRule:根據特定算法中從服務列表中選取一個要訪問的服務

如何替換

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

這個自定義配置類不能放在@ComponentScan所掃描的當前包下以及子包下,

否則我們自定義的這個配置類就會被所有的Ribbon客戶端所共享,達不到特殊化定制的目的了。

修改為隨機

@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);
    }
}

到此這篇關于Spring Cloud Ribbon客戶端詳細介紹的文章就介紹到這了,更多相關Spring Cloud Ribbon內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

最新評論