微服务教程

[SpringCloud教程]5. Ribbon负载均衡

2021-04-12  本文已影响0人  后端技术学习分享

Spring Cloud Ribbon 是一个客户端负载均衡工具,用于提供客户端的软件负载均衡算法和服务调用

概念

目前Ribbon项目是维护模式

集中式LB(负载均衡)

在服务提供者和消费者之间独立出一个负载均衡设施(硬件、nginx等),由该设施负责通过策略来转发请求

进程式LB(负载均衡)

将负载均衡逻辑集成于服务消费者,消费者从注册中心里获取哪些地址可以用,然后自己根据策略来选择合适服务

Ribbon本地负载均衡客户端和Nginx服务端负载均衡的区别

集成

如果注册中心使用Eureka,服务消费者使用Eureka 客户端,则不需要加入Ribbon依赖,因为下方的依赖里包含了

<!-- eureka client -->
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>

其他情况下需要加入Ribbon依赖:

<dependency>
  <groupId>org.springframework.cloud</groupId>
  <artifactId>spring-cloud-starter-netflix-ribbon</artifactId>
  <version>2.2.5.RELEASE</version>
</dependency>

前文基于Eureka的服务注册发现案例模块里,使用了支持Ribbon负载均衡的的RestTemplate工具(只需要在RestTemplate的Bean声明里加入注解@LoadBalanced即可),所以这里不再赘述Ribbon集成方法。

Ribbon负载均衡算法(了解)

Ribbon的负载均衡实现均继承自接口IRule,常见实现算法如下:

Ribbon自定义负载均衡算法

原创不易,转载请在开头著名文章来源和作者。如果我的文章对您有帮助,请点赞/收藏/关注鼓励支持一下吧❤❤❤❤❤❤

上一篇 下一篇

猜你喜欢

热点阅读