Spring Cloud及微服务(三):客户端负载均衡Spring Cloud Ribbon

本文内容基于《Spring Cloud微服务实战》,翟永超著。


客户端负载均衡

通常所说的负载均衡都是指服务端负载均衡,其中分为硬件负载均衡和软件负载均衡:

  • 硬件负载均衡:主要通过在服务器节点之间安装专门用于负载均衡的设备,比如F5等。
  • 软件负载均衡:则是通过在服务器上安装一些具有均衡负载功能或模块的软件来完成请求分发工作,比如Nginx等。

硬件负载均衡的设备或是软件如在均衡的软件模块都会维护一个下挂可用的服务端清单,通过心跳检测来剔除故障的服务端节点以保证清单中都是可以正常访问的服务端节点。客户端负载均衡与服务端负载均衡最大的不同点在于服务清单的存储位置,所有客户端节点都维护着自己要访问的服务端清单,而这些清单来自于注册中心。

RestTemplate GET请求

  • getForEntity(String url, Class responseType, Object ...urlVariables);

  • getForEntity(String url, Class responseType, Map urlVariables);

  • getForEntity(URI url, Class responseType);

  • getForObject(String url, Class responseType, Object ...urlVariables);
  • getForObject(String url, Class responseType, Map urlVariables);
  • getForObject(URI url, Class responseType);

RestTemplate POST请求

  • postForEntity(String url, Object request, Class responseType, Object ...urlVariables);
  • postForEntity(String url, Object request, Class responseType, Map urlVariables);
  • postForEntity(URI url, Object request, Class responseType);

  • postForObject(String url, Object request, Class responseType, Object ...urlVariables);
  • postForObject(String url, Object request, Class responseType, Map urlVariables);
  • postForObject(URI url, Object request, Class responseType);

  • postForLocation(String url, Object request, Object ...urlVariables);
  • postForLocation(String url, Object request, Map urlVariables);
  • postForLocation(URI url, Object request);

RestTemplate PUT请求

  • put(String url, Object request, Object ...urlVariables);
  • put(String url, Object request, Map urlVariables);
  • put(URI url, Object request);

RestTemplate DELETE请求

  • delete(String url, Object ...urlVariables);
  • delete(String url, Map urlVariables);
  • delete(URI url);

参数配置

  • 全局配置:ribbon.<key>=<value>
  • 指定客户端配置:<client>.ribbon.<key>=<value>

与Eureka结合

当同时引入Spring Cloud Ribbon和Spring Cloud Eureka时,会触发Eureka对Ribbon的自动化配置。

重试机制

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值