一.
Ribbon 是 Netflix 公司开发的一个负载均衡器(Load Balancer)工具,主要用于在分布式系统中进行客户端侧的负载均衡。它可以集成到微服务架构中的客户端,通过在客户端实现负载均衡算法,来分发请求到多个服务提供者实例。
Ribbon 提供了多种负载均衡算法,包括轮询(Round Robin)、随机(Random)、加权轮询(Weighted Round Robin)等。它还支持服务端列表的动态更新,可以通过注册中心(如Eureka、Consul等)或配置中心(如Spring Cloud Config)来动态获取服务实例列表。
在微服务架构中,每个服务都可能有多个实例运行在不同的主机上,Ribbon 可以根据事先定义好的负载均衡策略,选择合适的服务实例来处理请求,从而实现负载均衡和高可用性。
Ribbon 与 Spring Cloud 紧密集成,在 Spring Cloud 微服务架构中被广泛使用。它通过 RestTemplate、Feign 等客户端组件提供了简单易用的方式来调用远程服务,并且可以通过配置的方式来定义负载均衡策略和服务列表
1.
其实使用Ribbon其实就是使用Eureka,在Eureka中包装了这个
先创建一个Eureka的项目,把依赖加入进去
在配置一下application.yml
再建立两个子项目,分别导入依赖
再分别配置一下配置文件,分n个生产者跟一个消费者
写一个生产者业务
在进入这里
点击这个复制一个启动类
然后再点击这个
在弹出的里面选择这个
然后再新增的虚拟机的地址按照这个格式定义新的端口
然后在消费者端
需要注意的配置
启动类上都要加上这个
而主机上需要加上这个
在消费者端把这个RestTemplate用spring的ioc容器管理起来
这样就能正确的实现负载均衡了