请参考:https://blog.csdn.net/MadLifeBin/article/details/120332483
可搭建单机版用于 Demo 测试
请参考:https://blog.csdn.net/MadLifeBin/article/details/120420139
请参考:https://blog.csdn.net/MadLifeBin/article/details/120445839
构建一个注册中心,多个服务提供方(接口返回服务名、端口信息),一个服务消费方,在服务消费侧添加Ribbon负载均衡,测试调用接口时,观察每次响应的服务方的信息。
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-ribbon</artifactId>
</dependency>
ribbon.ConnectTimeout=3000
ribbon.ReadTimeout=30000
http-feign-provider8083.ribbon.NFLoadBalancerRuleClassName=com.netflix.loadbalancer.RoundRobinRule
该接口返回当前服务的应用名、端口,方便在服务消费方区别调用了哪个服务
@GetMapping("/loadBalanceDemo/getProviderInfo")
public String getProviderInfo(){
return "当前Provider-springApplicationName: " + springApplicationName + ",端口为:" + serverPort;
}
@FeignClient(name="http://${env.app.name.loadBalanceDemo}",contextId = "LoadBalanceDemoClient",path = "/loadBalanceDemo")
public interface LoadBalanceDemoClient {
@GetMapping("/getProviderInfo")
String getProviderInfo();
}
@GetMapping("/getProviderInfo")
public String getProviderInfo(){
return loadBalanceDemoClient.getProviderInfo();
}
注册中心、服务消费各启动一个进程,服务提供方使用命令行指定端口启动多个服务进程,注册到同一个注册中心
java -jar .\http-feign-provider8083.jar --server.port=8086
当前服务消费侧使用的负载均衡算法为 RoundRobinRule 轮询,则在不断刷新接口时,服务provider 的端口会按一定的顺序打印。
RoundRobinRule 轮询策略
RandomRule 随机策略
BestAvailableRule 高可用
WeightedResponseTimeRule 响应时间权重
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://blog.csdn.net/MadLifeBin/article/details/120508091
内容来源于网络,如有侵权,请联系作者删除!