服务端负载均衡和客户端负载均衡(Ribbon)的区别

1、什么是负载均衡?

负载均衡可以想象为将所有请求先聚在一起,然后根据负载均衡算法分发请求达到合理分配请求,将服务器处理请求的效率达到最大化,为微服务集群分担请求,降低系统的压力。。

负载均衡算法:

1、随机,通过随机选择服务进行执行,一般这种方式使用较少;
2、轮训,负载均衡默认实现方式,请求来之后排队处理;
3、加权轮训,通过对服务器性能的分型,给高配置,低负载的服务器分配更高的权重,均衡各个服务器的压力;
4、地址Hash,通过客户端请求的地址的HASH值取模映射进行服务器调度。
5、最小链接数;即使请求均衡了,压力不一定会均衡,最小连接数法就是根据服务器的情况,比如请求积压数等参数,将请求分配到当前压力最小的服务器上。
6、其他若干方式。

我们平时说负载均衡一般都是指服务端负载均衡,但因为分布式spring cloud分布式框架出现,也出现了客户端负载均衡这一概念,那么两者的区别是什么呢?

2、服务端负载均衡在这里插入图片描述

1)、服务端负载均衡分两种:

一种是硬件负载均衡,硬件比如:F5、Array等

另一种是软件负载均衡,软件比如:LVS、Nginx等

2)、具体流程:

客户端发送请求被服务端负载均衡拦截,根据负载均衡算法分发请求到具体服务器上处理请求

3、客户端负载均衡

在这里插入图片描述
1)、具体流程:

1、客户端负载均衡Ribbon从注册中心Eureka Server中获取服务列表

2、客户端负载均衡Ribbon根据负载均衡算法分发请求

客户端负载均衡Ribbon在分布式系统的位置

在这里插入图片描述
其实客户端负载均衡Ribbon的配置就处于微服务的消费者中,消费者通过restTemplate远程调用
触发Ribbon的负载均衡

服务端负载均衡和客户端负载均衡的区别

服务端负载均衡的流程:客户端——>负载均衡服务器——>服务器

客户端负载均衡:客户端——>服务器

所以我们可以看出服务端负载均衡是通过一台服务器达到负载均衡的,
而客户端负载均衡通过自己就能达到负载均衡(它先从注册中心获取服务列表),并不需要其他服务器

  • 8
    点赞
  • 44
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值