1、关于 Ribbon
Spring Cloud Ribbon 是基于 Netflix Ribbon 实现的一套客户端负载均衡的工具。Ribbon 是 Netflix 发布的开源项目,主要功能是提供客户端的软件负载均衡算法,将 Netflix 的中间层服务连接在一起。Ribbon 客户端组件提供一系列完善的配置项如连接超时、重试等。简单的说,就是在配置文件中列出 Load Balancer(简称LB)后面所有的机器,Ribbon 会自动的基于某种策略(如轮询连接、随机连接等)去连接这些服务器。也很容易使用 Ribbon 实现自定义的负载均衡算法来满足项目中常见的业务环境需求。
2、Ribbon 的作用
LB,即负载均衡(Load Balance),在微服务或分布式集群中经常用的一种应用。负载均衡简单的说就是将用户的请求平均分配到多个服务上,从而达到系统的 HA(也就是我们常说的高可用!!!)。常见的负载均衡有软件 Nginx,LVS,硬件 F5 等,话又说回来,一般没有实力的公司都用不起 F5。相应的在中间件,例如:Dubbo 和 Spring Cloud 中均给我们提供了负载均衡机制,其负载均衡算法都是可以自定义的。
上面说那么多其实就是利用ribbon可以将请求分配到多个服务器,分担每个系统的压力,现在我们开始动手实现一个Demo