- Spring Cloud构建微服务架构—服务消费Ribbon
- Spring Cloud构建微服务架构服务消费Ribbon
- Spring Cloud构建微服务架构-服务消费(Ribbon)
- Spring Cloud构建微服务架构—服务消费(Ribbon)
- SpringCloud:服务的消费者 Ribbon
- Spring Cloud Ribbon 自定义Rule
- Spring Cloud构建微服务架构—服务消费(Ribbon)
- Spring Cloud构建微服务架构—服务消费(Ribbon)
- java版spring cloud+spring boot 社交
- spring cloud ribbon学习一:RestTempl
代码方式
服务提供者
第一对服务提供者,ribbon-provider
@GetMapping("/user")private String user() { return "provider1";}
@GetMapping("/user")private String user() { return "provider2";}
第二对服务提供者,ribbon-provider-new
@GetMapping("/user")private String user() { return "provider-new";}
@GetMapping("/user")private String user() { return "provider-new2";}
服务消费者
控制器
@GetMapping("/user")
private String user() {
return restTemplate.getForObject("http://ribbon-provider/user", String.class);
}
@GetMapping("/userNew")
private String userNew() {
return restTemplate.getForObject("http://ribbon-provider-new/user", String.class);
}
配置类
/**
* 如果该类被@ComponentScan扫描到,所有的@RibbonClient会共享IRule
* 指定某个服务提供者
* 方式1. 让该配置类不被扫描到。去掉@Configuration注解,让它不被Spring自动扫描管理
* 方式2. 手动指定排除掉该类
*/
public class RuleConfiguration {
@Bean
public IRule ribbonRule() {
return new RandomRule();
}
}
@Configuration
@RibbonClient(name = "ribbon-provider", configuration = RuleConfiguration.class)
public class RibbonConfiguration {}
配置方式
支持的属性如下所示,应以<clientName>.ribbon.下列属性。(属性文件中定义的优先于默认的代码配置的
NFLoadBalancerClassName:应实施ILoadBalancer
NFLoadBalancerRuleClassName:应实施IRule
NFLoadBalancerPingClassName:应实施IPing
NIWSServerListClassName:应实施ServerList
NIWSServerListFilterClassName:应实施ServerListFilter
ribbon-provider.ribbon.NFLoadBalancerRuleClassName=com.netflix.loadbalancer.RandomRule
网友评论