一个负载均衡器,至少提供以下功能:
要维护各个服务器的ip等信息
根据特定的逻辑选取服务器
为了实现基本的负载均衡功能,Ribbon的负载均衡器有三大子模块:
Rule
Ping
ServerList
Ribbon在SpringCloud中使用时,配置可以通过两种方式,一种是Java配置,另一种是配置文件配置。
phpweb1.0基于php+mysql+smarty开发的企业解决方案,总体感觉简洁快速,适合小型企业的建站方案,也适合初学者学习。 之前发布过phpweb1.0的原始版本,仅提供大家交流和学习,但很多的爱好者提出了一些不足和好评,本不想继续开发1.0,因为2.0已经开发完毕而且构架与1.0完全不同,但是有些使用者喜欢这种简洁和简便,应大家的要求,美化和优化了一些不足之处。后台更加简洁美观。
通过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就可以进行访问。









