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

版权声明:YETA https://blog.csdn.net/qq_28958301/article/details/88718257

客户端负载均衡

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

  • 硬件负载均衡:主要通过在服务器节点之间安装专门用于负载均衡的设备,比如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的自动化配置。

重试机制

猜你喜欢

转载自blog.csdn.net/qq_28958301/article/details/88718257