SpringCloud(七) -- 负载均衡 Ribbon
时间 2020-12-25
标签
个人总结
java
ribbon
解决了集群服务中,多个服务高效率访问的问题。
Ribbon是Netflix发布的负载均衡器,有助于控制HTTP客户端行为。为Ribbon配置服务提供者地址列表后,Ribbon就可基于负载均衡算法,自动帮助服务消费者请求。
1. 入门-初体验
实现负载均衡访问用户服务。
如果想要做负载均衡,我们的服务至少2个以上,所以我们先来在idea中启动两个生产者。
1.1 步骤
第一步: 启动多个provider-service服务
- 编辑应用启动配置
- 先复制, 再选择应用服务、填写服务名称、指定服务端口
- 复制一个,将端口改为9092
- 结果
第二步:开启消费者负载均衡
- 在RestTemplate的注入方法上加入@LoadBalanced注解
- 修改调用请求的Url地址,改为服务名称调用
- 访问页面查看效果
1.2 实现
1.2.1 使用service 启动两个user-service应用
编辑应用启动配置
先复制, 再选择应用服务、填写服务名称、指定服务端口
–server.port=9091
复制一个,将端口改为9092
结果
1.2.2 开启消费者调用负载均衡
Eureka已经集成Ribbon,所以无需引入依赖。
- 在RestTemplate的配置方法上添加@LoadBalanced注解即可
- 修改ConsumerController调用方式,不再手动获取ip和端口,而是直接通过服务名称调用
- 访问页面查看结果
先启动 eureka服务器, 再启动 user-service服务器, 再启动 consumer-service服务器.
第一次: 端口号 9092