十六、客户端负载均衡

Spring Cloud Ribbon是一个基于HTTP和TCP的客户端负载均衡工具,他是基于NetflixRibbon实现的,通过Spring Cloud的封装,可以让我们轻松的将面向服务的REST模板请求自动转换成客户端负载均衡的服务调用,他虽然是一个工具类框架,不像注册中心、配置中心、api网关那样独立部署,但是几乎存在每一个Spring Cloud构建的微服务和基础设施中。因为微服务间的调用,api网关的请求转发等内容,实际上是通过Ribbon实现的。
下面如何使用Ribbon实现客户端负载均衡,以及他的原理

一、客户端负载均衡

硬件负载均衡主要通过在服务器节点之间安装专门用于负载的设备,eg:f5等;
软件负载均衡则是通过在服务器上安装一些具有负载均衡的功能或模块的软件来完成请求分发的工作。比如Nginx等;无论硬件还是软件都能以下图类似架构方式构建起来;
这里写图片描述

硬件负载均衡的设备或是软件负载均衡的软件模块都会维护 一 个下挂可用的服务端清单,通过心跳检测来剔除故障的服务端节点以保证清单中都是可以正常访问的服务端节点;

而客户端负载均衡和服务端负载均衡最大的不同点在于上面所提到的服务清单所存储的位置。在客户端负载均衡中,所有客户端节点都维护着自己要访问的服务清单,而这些服务清单来源于服务注册中心。

通过Spring Cloud Ribbon的封装,我们在微服务架构中使用客户端负载均衡调用很简单:只需要两步:

1、服务提供着只需要启动多个服务实例并注册到一个注册中心或是多个相互关联的注册中心。
2、服务消费者直接通过调用被@LoadBalanced注解修饰过的RestTEmplate来实现面向服务的接口调用。这样就可以将服务提供者的高可用以及服务消费者的负载均衡调用一起实现了。
这里写图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值