跳到主要内容

【5】集成Ribbion实现客户端负载均衡

文章目录

  • 负载均衡
    • 服务端负载均衡
  • 客户端负载均衡
  • 负载均衡算法
    • 1、轮询法
    • 2、随机法
    • 3、源地址哈希法
    • 4、加权轮询法
    • 5、加权随机法
    • 6、最小连接数法
  • Ribbion
    • 简介
  • 停止维护声明
  • 使用案例
      1. 修改版本
    • 2.测试
      1. Ribbon 执行流程分析
      1. Ribbon 负载均衡算法流程

负载均衡

负载均衡,英文名称为Load Balance,其含义就是指将负载(工作任务)进行平衡、分摊到多个操作单元上进行运行。

在分布式架构中,某个服务后台肯定存在多个副本,这个时候就需要负载均衡组件,将流量分摊到这些副本中。

可以通过硬件或软件实现负载均衡,比如F5、Nginx、API网关等。

服务端负载均衡

服务器端负载均衡就是在服务端进行请求处理,比如使用Nginx时,请求到达Nginx,由其进行负载均衡处理,将请求转发到具体的后台服务。

客户端不知道负载均衡的具体算法,也不知道具体后台的服务地址。

 

客户端负载均衡

客户端负载均衡就是负载均衡器在客户端,由客户端去注册中心或者配置中拉取服务端的服务信息,在本地维护一个可用服务列表,发送请求时,直接在本地选择一个服务地址,客户端可以自己控制负载均衡算法。

在服务之间进行RPC 调用时,我们就需要一个客户端均衡器,这样才能实现多个提供方时,消费者可以选择哪一个提供方服务。
 

负载均衡算法

1、轮询法

将请求按顺序轮流地分配到后端服务器上,它均衡地对待后端的每一台服务器,而不关心服务器实际的连接数和当前的系统负载。

2、随机法