springcloud中实现负载均衡的组件是Ribbon,但是在程序开发Feign是面向接口开发的,使用注解就能搞定,更接近程序开发的思维,代码的可读性也就更高,这里就记录下我是如何实现Feign中的负载均衡----自带的轮询功能。
springcloud的负载均衡是请求先从客户端进来,然后来判断调用哪一个服务提供者,跟Nginx有些不同。
接着前两篇文章中的例子,由于只有一个提供者,无法看出效果,所以我打算再添加两个提供者。目录结构如下
新加的这两个提供者和第一个提供者pom依赖相同,启动类型相同,数据库本来应该也不同,不过我没有使用数据库,我用的是redis,在controller层返回的之不同,这样在演示的时候就可以区分出来了。
可以看出第一个返回的是sex,第二个返回的是name。
其次,application.yml也有一点不一样
#第一个
server:
port: 8902
eureka:
client:
service-url:
defaultZone: http://eureka8761:8761/