Ribbon:负载均衡及Ribbon

  Spring Cloud Ribbon 是基于Netflix Ribbon 实现的一套客户端负载均衡的工具。
  简单的说,Ribbon 是 Netflix 发布的开源项目,主要功能是提供客户端的软件负载均衡算法,将 Netflix 的中间层服务连接在一起。Ribbon 的客户端组件提供一系列完整的配置项,如:连接超时、重试等。简单的说,就是在配置文件中列出 LoadBalancer (简称LB:负载均衡) 后面所有的机器,Ribbon 会自动的帮助你基于某种规则 (如简单轮询随机连接等等) 去连接这些机器。我们也容易使用 Ribbon 实现自定义的负载均衡算法!

 

 

 

LB,即负载均衡 (LoadBalancer) ,在微服务或分布式集群中经常用的一种应用。
负载均衡简单的说就是将用户的请求平摊的分配到多个服务上,从而达到系统的HA (高用)。
常见的负载均衡软件有 NginxLvs(Linux Virtual Server即Linux虚拟服务器)等等。Apache+Tomcat也可以做到
Dubbo、SpringCloud 中均给我们提供了负载均衡,SpringCloud 的负载均衡算法可以自定义。
负载均衡简单分类:
  集中式LB:
    即在服务的提供方和消费方之间使用独立的LB设施,如Nginx(反向代理服务器),由该设施负责把访问请求通过某种策略转发至服务的提供方!
  进程式 LB:
    将LB逻辑集成到消费方,消费方从服务注册中心获知有哪些地址可用,然后自己再从这些地址中选出一个合适的服务器。
    Ribbon 就属于进程内LB,它只是一个类库,集成于消费方进程,消费方通过它来获取到服务提供方的地址!

在消费者80中pom引入eureka客户端依赖

这里移除了ribbon,后面才能成功

 

 在yml中配置三个注册中心且不向Eureka注册自己

 

 主启动类加上@EnableEurekaClient注解 

 

自定义Spring配置类:ConfigBean.java 配置负载均衡实现RestTemplate

 

 修改Controller:DeptConsumerController

 

 

posted @ 2022-08-23 23:10  doremi429  阅读(32)  评论(0编辑  收藏  举报