一、概述
1.1、Ribbon
Spring Cloud Ribbon是基于Netflix Ribbon实现的一套客户端负载均衡的工具。简单的说,Ribbon是Netflix发布的开源项目,主要功能是提供客户端的软件负载均衡算法和服务调用。Spring Cloud Ribbon虽然只是一个工具类框架,它不像服务注册中心、配置中心、API网关那样需要独立部署,但是它几乎存在于每一个Spring Cloud构建的微服务和基础设施中。但是Ribbon已经进入了维护模式。后续我们将要介绍的Feign,它也是基于Ribbon实现的工具。所以,对Spring Cloud Ribbon的理解和使用,对于我们使用Spring Cloud来构建微服务非常重要。
官网地址 >> https://github.com/Netflix/ribbon/wiki/Getting-Started
spring-cloud-starter-netflix-eureka-client自带了spring-cloud-starter-ribbon引用
1.2、Feign
Feign是声明式的web service客户端,它让微服务的调用变得更简单了,类似Controller调用service。SpringCloud集成了Ribbon和Eureka,可在使用Feign时提供负载均衡的http客户端。只需要创建一个接口,然后添加注解即可!
二、负载均衡
2.1、Ribbon核心组件
IRule:根据特定算法从服务列表中选取一个要访问的服务。