使用eureka的元資料資訊,再配上ribbon的路由功能,就可以在api-gateway實現很多功能,比如灰度測試、生產除錯等等。下面介紹一下,怎麼使用jmnarloch大神提供的ribbon-discovery-filter-spring-cloud-starter,利用簡單的幾行**搞定這一切。
io.jmnarloch
ribbon-discovery-filter-spring-cloud-starter
2.1.0
eureka:
instance:
metadatamap:
tag: pre-prod
@component
public class dynamicroutesfilter extends zuulfilter
@override
public int filterorder()
@override
public boolean shouldfilter()
@override
public object run()
return null;}}
根據請求的tag,路由到標記有指定tag值的服務。注意,如果請求不指定tag,則**需要判空一下,另外不指定tag的話,則預設所有同名的服務都會被路由到。Ribbon的基本使用
springcloudribbon是基於netflixribbon實現的一套客戶端負載均衡的工具 簡單的說,ribbon是netflix發布的開源專案,主要功能是提供客戶端的軟體負載均衡演算法,將netflix的中間層服務連線在一起。ribbon客戶端元件提供一系列完善的配置項如連線超時,重試等。簡...
使用Eureka的步驟
1.1建立工程,匯入依賴org.springframework.cloud spring cloud starter netflix eureka server server port 9000 配置eureka server eureka instance hostname localhost c...
Eureka的基本使用
eureka是netflix開發的服務發現框架,可以使用eureka管理各種服務功能包括服務的註冊 發現 熔斷 負載 降級等。eureka包含兩個元件 eureka server和eureka client。下圖顯示了eureka server與eureka client的關係 其中,service...