欧美free性护士vide0shd,老熟女,一区二区三区,久久久久夜夜夜精品国产,久久久久久综合网天天,欧美成人护士h版

首頁綜合 正文
目錄

柚子快報(bào)邀請(qǐng)碼778899分享:Ribbon負(fù)載均衡【微服務(wù)】

柚子快報(bào)邀請(qǐng)碼778899分享:Ribbon負(fù)載均衡【微服務(wù)】

http://yzkb.51969.com/

文章目錄

前言一、關(guān)于負(fù)載均衡二、負(fù)載均衡+遠(yuǎn)程RPC調(diào)用三、Ribbon默認(rèn)負(fù)載輪詢算法原理總結(jié)參考資料

前言

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

一、關(guān)于負(fù)載均衡

1、LB負(fù)載均衡(Load Balance)是什么 就是將用戶的請(qǐng)求平攤的分配到多個(gè)服務(wù)上,從而達(dá)到系統(tǒng)的HA (高可用)。

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

Ribbon本地負(fù)載均衡客戶端VS Nginx服務(wù)端負(fù)載均衡區(qū)別 Nginx是服務(wù)器負(fù)載均衡,客戶端所有請(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é)把訪問請(qǐng)求通過某種策略轉(zhuǎn)發(fā)至服務(wù)的提供方;

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

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

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

二、負(fù)載均衡+遠(yuǎn)程RPC調(diào)用

負(fù)載均衡+RestTemplate

Ribbon在工作時(shí)分成兩步:

第一步先選擇EurekaServer ,它優(yōu)先選擇在同一個(gè)區(qū)域內(nèi)負(fù)載較少的server。

第二步再根據(jù)用戶指定的策略,在從server取到的服務(wù)注冊(cè)列表中選擇一個(gè)地址。

三、Ribbon默認(rèn)負(fù)載輪詢算法原理

默認(rèn)負(fù)載輪訓(xùn)算法: rest接口第幾次請(qǐng)求數(shù) % 服務(wù)器集群總數(shù)量 = 實(shí)際調(diào)用服務(wù)器位置下標(biāo),每次服務(wù)重啟動(dòng)后rest接口計(jì)數(shù)從1開始。

如:

List [0] instances = 127.0.0.1:8002 List [1] instances = 127.0.0.1:8001 8001+ 8002組合成為集群,它們共計(jì)2臺(tái)機(jī)器,集群總數(shù)為2,按照輪詢算法原理:

當(dāng)總請(qǐng)求數(shù)為1時(shí):1%2=1對(duì)應(yīng)下標(biāo)位置為1,則獲得服務(wù)地址為127.0.0.1:8001 當(dāng)總請(qǐng)求數(shù)位2時(shí):2%2=О對(duì)應(yīng)下標(biāo)位置為0,則獲得服務(wù)地址為127.0.0.1:8002 當(dāng)總請(qǐng)求數(shù)位3時(shí):3%2=1對(duì)應(yīng)下標(biāo)位置為1,則獲得服務(wù)地址為127.0.0.1:8001 當(dāng)總請(qǐng)求數(shù)位4時(shí):4%2=О對(duì)應(yīng)下標(biāo)位置為0,則獲得服務(wù)地址為127.0.0.1:8002 如此類推…

總結(jié)

全都是在調(diào)用服務(wù)(80)中添加 1、添加依賴 spring-cloud-starter-netflix-eureka-client自帶了spring-cloud-starter-ribbon引用。 應(yīng)用了spring-cloud-starter-netflix-eureka-client不需要再導(dǎo)入ribbon

org.springframework.cloud

spring-cloud-starter-netflix-ribbon

2、使用@LoadBalanced注解賦予RestTemplate負(fù)載均衡的能力

@Configuration

public class ApplicationContextConfig {

@Bean

@LoadBalanced//使用@LoadBalanced注解賦予RestTemplate負(fù)載均衡的能力

public RestTemplate getRestTemplate(){

return new RestTemplate();

}

}

如果需要替換默認(rèn)的負(fù)載均衡算法,不需要加此注解 可以在調(diào)用服務(wù)的主啟動(dòng)類添加注解 @RibbonClient(name = “CLOUD-PAYMENT-SERVICE”, configuration = MySelfRule.class) MySelfRule為自定義負(fù)載均衡算法 需要注意: 定義配置類不能放在@ComponentScan所掃描的當(dāng)前包下以及子包下, 否則我們自定義的這個(gè)配置類就會(huì)被所有的Ribbon客戶端所共享,達(dá)不到特殊化定制的目的了。 (也就是說不要將Ribbon配置類與主啟動(dòng)類同包)

參考資料

https://blog.csdn.net/u011863024/article/details/114298270

柚子快報(bào)邀請(qǐng)碼778899分享:Ribbon負(fù)載均衡【微服務(wù)】

http://yzkb.51969.com/

精彩文章

評(píng)論可見,查看隱藏內(nèi)容

本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點(diǎn)和立場(chǎng)。

轉(zhuǎn)載請(qǐng)注明,如有侵權(quán),聯(lián)系刪除。

本文鏈接:http://gantiao.com.cn/post/19589011.html

發(fā)布評(píng)論

您暫未設(shè)置收款碼

請(qǐng)?jiān)谥黝}配置——文章設(shè)置里上傳

掃描二維碼手機(jī)訪問

文章目錄