教育行业A股IPO第一股(股票代码 003032)

全国咨询/投诉热线:400-618-4000

Ribbon是什么?Ribbon详解

更新时间:2020年11月19日17时14分 来源:传智播客

Ribbon是Netflix开源的一款用于客户端负载均衡的软件工具,它在集群中为各个客户端的通信提供了支持,有助于控制HTTP和TCP客户端的行为,提供了很多负载均衡的算法,例如轮询,随机等,同时也可以实现自定义的算法。

在Spring Cloud 构建的微服务中,Ribbon作为服务消费者的负载均衡器,有两种使用方式,一种是与RestTemplate相结合,另一种是与Feign相结合。Feign已经默认集成了Ribbon,并且关于Feign的相关知识我们将在第4章进行详细讲解。

Ribbon包含很多子模块,但很多子模块没有用于生产环境,目前用于生产的Ribbon的子模块具体如下:

● ribbon-core:包括定义负载均衡接口、客户端接口、内置的负载均衡实现等API。

● ribbon-eureka:提供eureka客户端实现负载均衡的API。

● ribbon-httpclient:对Apache的HttpClient进行封装,该模块提供了含有负载均衡功能的REST客户端。

在Spring Cloud 中,当Ribbon和Eureka配合使用的时候,Ribbon可从Eureka Server中获取服务提供者地址列表,并基于负载均衡算法,请求其中一个服务提供者实例。Ribbon整合Eureka的结构示例如下图所示。

Ribbon

Ribbon整合Eureka结构示例图

上图中,搭建了一个Eureka服务器,三个服务提供者以及一个含有Ribbon的服务消费者。三个服务提供者向Eureka服务器注册服务,当多个URL向服务调用者发起请求时,基于Ribbon的负载均衡器能够有效地将请求分摊到不同的机器上。


猜你喜欢:

MyBatis中使用#和$有什么区别?

Openresty简介和linux系统下安装教程

Java高级软件工程师培训课程

相关阅读