要维护各个服务器的ip等信息
根据特定的逻辑选取服务器
为了实现基本的负载均衡功能,ribbon的负载均衡器有三大子模块:
rule
ping
serverlist
ribbon在springcloud中使用时,配置可以通过两种方式,一种是java配置,另一种是配置文件配置。
通过java配置:
package com.hurricane.learn.springcloud.ribbon;import org.springframework.cloud.netflix.ribbon.ribbonclient;import org.springframework.context.annotation.bean;@ribbonclient(name="user-service-provider",configuration=myconfig.class)public class myconfig { @bean public myrule createmyrule() { return new myrule(); }}
配置文件配置:
#自定义规则的使用user-service-provider.ribbon.nfloadbalancerruleclassname=com.hurricane.learn.springcloud.ribbon.myrule
服务调用的一个神坑:
测试服务之间的调用,一直调用不成功,提示:
request uri does not contain a valid hostname: http://user_service_provider/getuser
最后发现,竟然是因为服务实例名中不能有下划线。将实例名改为aaa就可以进行访问。
以上就是spring cloud应用之ribbon使用的详细内容。
