Spring Cloud:Ribbon实现负载均衡

什么是负载均衡?

负载均衡 建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。

负载均衡,英文名称为Load Balance,其意思就是分摊到多个操作单元上进行执行,例如Web服务器、FTP服务器、企业关键应用服务器和其它关键任务服务器等,从而共同完成工作任务。

Spring Cloud如何实现负载均衡?

Spring Cloud使用Ribbon组件实现负载均衡

什么是Ribbon?

Ribbon是一个客户端负载均衡器,它能让您对HTTP和TCP客户端的行为有很多控制

如何使用?

  • 上一篇文章已经讲了Spring Cloud中如何消费服务,总结下:通过RestTemplate通过http协议进行消费。

  • 我们接着改造原来的工程,加入负载均衡

  • 把eureka注册中心启动,然后启动两个bootiful应用,端口分别为9001、9002。注意:Idea默认一个工程只能启动一次,所以需要改下设置,然后分别修改下端口后启动。为了方便观察,我们在bootiful应用中打印了接口日志。

Spring Cloud:Ribbon实现负载均衡

Spring Cloud:Ribbon实现负载均衡

  • 打开注册中心http://localhost:8761/,看到bootiful应用已经有两个实例了

Spring Cloud:Ribbon实现负载均衡

  • 改造consumer应用,给RestTemplate实例增加@LoadBalanced注解

Spring Cloud:Ribbon实现负载均衡

  • 启动consumer应用

Spring Cloud:Ribbon实现负载均衡

  • 反复访问http://localhost:9000/consumer/getBootiful接口,发现bootiful应用两个实例打印出日志来了

Spring Cloud:Ribbon实现负载均衡

Spring Cloud:Ribbon实现负载均衡

Spring Cloud:Ribbon实现负载均衡


分享到:


相關文章: