首頁 >Java >java教程 >Spring Cloud應用之ribbon使用

Spring Cloud應用之ribbon使用

无忌哥哥
无忌哥哥原創
2018-07-23 10:08:131818瀏覽

一個負載平衡器,至少提供以下功能:

  • 要維護各個伺服器的IP等資訊

  • 根據特定的邏輯選取伺服器

為了實現基本的負載平衡功能,Ribbon的負載平衡器有三大子模組:

  • ##Rule

  • Ping

  • ServerList

#Ribbon在SpringCloud中使用時,設定可以透過兩種方式,一種是Java配置,另一種是設定檔配置。

透過ja​​va配置:

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