Spring Cloud应用之ribbon使用

无忌哥哥
无忌哥哥 原创
2018-07-23 10:08:13 1380浏览

一个负载均衡器,至少提供以下功能:

  • 要维护各个服务器的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使用的详细内容,更多请关注php中文网其它相关文章!

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。