一、概述算法
1.1 Spring Cloud Ribbon是一个基于HTTP和TCP的客户端负载均衡工具;负载均衡
基于Netflix Ribbon实现;函数
经过Spring Cloud的封装,能够轻松将面向服务的Rest模板请求自动转换成客户端负载均衡的服务调用;工具
1.2 负载均衡post
一般所说的负载均衡指的是 服务端负载均衡;spa
分为 硬件负载均衡、软件负载均衡;blog
硬件负载均衡的设备(或 软件负载均衡的软件模块)都会维护一个下挂可用的服务端清单,经过心跳检测来剔除故障的服务端节点以保证清单中都是能够正常访问的服务端节点;接口
当客户端发送请求到负载均衡设备的时候,该设备(模块)按某种算法[线性轮询、按权重负载、按流量负载。。。]从维护的可用服务端清单中取出一台服务端的地址,而后进行转发;get
客户端负载均衡 与 服务端负载均衡 不一样点:it
客户端负载均衡:客户端节点都维护着本身要访问的服务端清单、服务清单来自服务注册中心;
1.3 使用Spring Cloud Ribbon:
a,服务提供者只须要启动多个服务实例并注册到一个注册中心或者多个相关联的服务注册中心;
b,服务消费者 直接经过调用被@LoadBalanced注解修饰的 RestTemplate实现面向服务的接口调用;
1.4 RestTemplate详解:
针对不一样请求类型、参数类型的服务调用实现:
a,Get请求
1.1 getForEntity函数
1.2 getForObject函数
b,Post请求
1.1 postForEntity函数
1.2 postForEntity函数
1.3 postForLocation函数
c,PUT请求
1.1 put函数
d,Delete请求
1.1 delete函数