欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  Java

Spring Cloud应用之ribbon使用

程序员文章站 2022-04-13 20:25:24
...
一个负载均衡器,至少提供以下功能:
  • 要维护各个服务器的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使用的详细内容,更多请关注其它相关文章!