当使用localhost:8000/api/b/test访问资源的时候,实际上是由网关先到负载均衡微服务,由负载均衡再去调资源服务中的”/test”路径,从而获取到资源。很显然,配置文件中的feign-service表示的就是负载均衡服务。
一、负载均衡服务的搭建
首先新建一个空的maven项目,取名feign-service,在创建过程中步添加任何依赖,直接在pom.xml文件里加,这样更能清楚的知道流程。建好一个空有结构的maven项目后,依旧按照三步走的方式去完成该微服务。
@RestController
rr轮询, 只需要声明一个方法在UserUI界面
调用UserService微服务 需装配RestTemplate这个类
然后改端口同时启动两个微服务
随机Server
只需要在UserUI的main方法中实例化,将RandomRule装到Spring容器中
@Bean
public IRule iRule(){
return new RandomRule();
}
WeightedResponseTimeRule()
根据响应时间分配一个weight,相应时间越长,weight越小,被选中的可能性越低。
//自己实现一个负载均衡器
public class MyRule extends AbstractLoadBalancerRule {
@Override
public void initWithNiwsConfig(IClientConfig iClientConfig) {
}
@Override
public Server choose(Object