博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
spring cloud 自定义ribbon实现负载均衡(二) 解决自定义ribbon和springboot启动类放在同一包下
阅读量:4287 次
发布时间:2019-05-27

本文共 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/

你可能感兴趣的文章
测试大牛的博客地址
查看>>
Tomcat6.0的安装与配置
查看>>
测试套件edit里的名称含义
查看>>
工作区Run
查看>>
PyCharm找不到自己安装的module ImportError: No module named 。。。
查看>>
python的ConfigParser模块
查看>>
Python+Selenium中级篇之5-Python读取配置文件内容
查看>>
Python+Selenium练习篇之27-多窗口之间切换----修改后的
查看>>
Python+Selenium中级篇之2-Python中类/函数/模块的简单介绍和方法调用------修改后的
查看>>
Python+Selenium中级篇之7-Python中字符串切割操作--修改
查看>>
Python+Selenium中级篇之8-Python自定义封装一个简单的Log类---修改
查看>>
logging.getLogger(logger)
查看>>
os.path.dirname(__file__)使用---获取当前运行脚本的绝对路径
查看>>
error: cannot connect to daemon(adb.exe start-server' failed启动失败,端口占用)---关闭360手机助手即可
查看>>
Python+Selenium框架设计篇之4-框架内封装日志类和浏览器引擎类
查看>>
Python+Selenium框架设计篇之11-自动化测试报告的生成-修改
查看>>
Android Studio中连接真机查看log
查看>>
文件上传功能测试用例
查看>>
测试qq发送文件
查看>>
Sql语句: 取出表A中第31到第40记录
查看>>