0%

客户端负载均衡Spring Cloud Ribbon

简介

Spring Cloud Ribbon是一个基于HTTP和TCP的客户端负载均衡工具,它基于Netflix Ribbon实现。通过Spring Cloud的封装,可以让我们轻松地将面向服务的REST模版请求自动转换成客户端负载均衡的服务调用。Spring Cloud Ribbon虽然只是一个工具类框架,它不像服务注册中心、配置中心、API网关那样需要独立部署,但是它几乎存在于每一个Spring Cloud构建的微服务和基础设施中。因为微服务间的调用,API网关的请求转发等内容,实际上都是通过Ribbon来实现的,包括后续我们将要介绍的Feign,它也是基于Ribbon实现的工具。所以,对Spring Cloud Ribbon的理解和使用,对于我们使用Spring Cloud来构建微服务非常重要。

RestTemplate

我们使用了非常有用的对象RestTemplate。该对象会使用Ribbon的自动化配置,同时通过配置@LoadBalanced还能够开启客户端负载均衡。之前我们演示了通过RestTemplate实现了最简单的服务访问,下面我们将详细介绍RestTemplate针对几种不同请求类型和参数类型的服务调用实现。

GET 请求

▪ ️getForObject(String url, Class responseType, Object … urlVariables)

▪ ️getForObject(String url, Class responseType, Map urlVariables)

▪ ️getForObject(URI url, Class responseType)

POST 请求

▪ ️postForEntity(String url, Object request, Class responseType, Object… uriVariables)

▪ ️postForEntity(String url, Object request, Class responseType, Map uriVariables)

▪ ️postForEntity(URI url, Object request, Class responseType)

PUT 请求

▪ put(String url,Object request,Object… urlVariables)

▪ put(String url,Object request,Map urlVariables)

▪ put(URI url,Object request)

DELETE 请求

▪ delete(String url,Object request,Object… urlVariables)

▪ delete(String url,Object request,Map urlVariables)

▪ delete(URI url,Object request)

layicr 微信

微信

layicr 支付宝

支付宝