本文共 2759 字,大约阅读时间需要 9 分钟。
在上一节中,我们说了,自定义UserDefineConfig自定的类不能放在com.ljf.weifuwu.springcloud.ribbon包下面,因为RibbonConsumerApp启动类有@ComponentScan这个注解,且在com.ljf.weifuwu.springcloud.ribbon这个包下面。
现在我们解决一下,如果放在同一个包下,怎么进行访问。1.定义一个注解:ExcludeFromComponentScan,和启动类放在同一个包下
2.将自定义的ribbon策略文件:config/UserDefineConfig放在com.ljf.weifuwu.springcloud.ribbon包下面:将文件中操作3步:
1.引入排除注解:@ExcludeFromComponentScan
2.注释掉:IClientConfig config;
3.ribbonRule(IClientConfig config)变为:ribbonRule()
3.启动类添加,排除过滤注解:
@ComponentScan(excludeFilters = {@ComponentScan.Filter(type = FilterType.ANNOTATION, value = ExcludeFromComponentScan.class)})
4.启动服务:
启动ms-eureka-sever(8761) , ms-ribbon-consumer(8001),ms-eureka-provider(7901 ),ms-eureka-provider(7900 ),ms-ribbon-provider(8002 ),ms-ribbon-provider(8003).
ms-eureka-provider:使用的是自定义的,随机策略,在启动类进行了配置:
@RibbonClient(name="ms-eureka-provider",configuration = UserDefineConfig.class) ms-ribbon-provider:使用的是默认,轮询策略。
5.访问:
2020-06-07 18:27:38.913 INFO 7296 --- [erListUpdater-1] c.netflix.config.ChainedDynamicProperty : Flipping property: ms-ribbon-provider.ribbon.ActiveConnectionsLimit to use NEXT property: niws.loadbalancer.availabilityFilteringRule.activeConnectionsLimit = 2147483647
随机::ms-eureka-provider:192.168.1.65:7901 轮询::ms-ribbon-provider:192.168.1.65:8003 随机::ms-eureka-provider:192.168.1.65:7900 轮询::ms-ribbon-provider:192.168.1.65:8002 随机::ms-eureka-provider:192.168.1.65:7901 轮询::ms-ribbon-provider:192.168.1.65:8003 随机::ms-eureka-provider:192.168.1.65:7900 轮询::ms-ribbon-provider:192.168.1.65:8002 随机::ms-eureka-provider:192.168.1.65:7900 轮询::ms-ribbon-provider:192.168.1.65:8003 随机::ms-eureka-provider:192.168.1.65:7900 轮询::ms-ribbon-provider:192.168.1.65:8002 随机::ms-eureka-provider:192.168.1.65:7900 轮询::ms-ribbon-provider:192.168.1.65:8003 随机::ms-eureka-provider:192.168.1.65:7901 轮询::ms-ribbon-provider:192.168.1.65:8002 随机::ms-eureka-provider:192.168.1.65:7900 轮询::ms-ribbon-provider:192.168.1.65:8003 随机::ms-eureka-provider:192.168.1.65:7900 轮询::ms-ribbon-provider:192.168.1.65:8002 随机::ms-eureka-provider:192.168.1.65:7901 轮询::ms-ribbon-provider:192.168.1.65:8003 随机::ms-eureka-provider:192.168.1.65:7901 轮询::ms-ribbon-provider:192.168.1.65:8002 随机::ms-eureka-provider:192.168.1.65:7901 轮询::ms-ribbon-provider:192.168.1.65:8003 随机::ms-eureka-provider:192.168.1.65:7900 轮询::ms-ribbon-provider:192.168.1.65:8002 随机::ms-eureka-provider:192.168.1.65:7901 轮询::ms-ribbon-provider:192.168.1.65:8003 2020-06-07 18:31:47.752 INFO 7296 --- [trap-executor-0] c.n.d.s.r.aws.ConfigClusterResolver : Resolving eureka endpoints via configuration 2020-06-07 18:36:47.760 INFO 7296 --- [trap-executor-0] c.n.d.s.r.aws.ConfigClusterResolver : Resolving eureka endpoints via configuration通过观察:ms-eureka-provider:7900和7901,实现了随机;ms-ribbon-provider:8002和8003,实现了轮询操作。
转载地址:http://extgi.baihongyu.com/