Rumah  >  Artikel  >  Java  >  Spring Cloud应用之ribbon使用

Spring Cloud应用之ribbon使用

无忌哥哥
无忌哥哥asal
2018-07-23 10:08:131791semak imbas

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

  • 要维护各个服务器的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就可以进行访问。

Atas ialah kandungan terperinci Spring Cloud应用之ribbon使用. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn