W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
從系統(tǒng)的整體運行狀況來看,查看單個實例的Hystrix數(shù)據(jù)不是很有用。Turbine是一個應(yīng)用程序,它將所有相關(guān)的/hystrix.stream
端點聚合到一個組合的/turbine.stream
中,以便在Hystrix儀表板中使用。個別實例通過Eureka定位。運行Turbine需要使用@EnableTurbine
注釋對您的主類進(jìn)行注釋(例如,通過使用spring-cloud-starter-netflix-turbine設(shè)置類路徑)。
Turbine 1 Wiki中記錄的所有配置屬性均適用。唯一的區(qū)別是turbine.instanceUrlSuffix
不需要預(yù)先添加的端口,因為除非turbine.instanceInsertPort=false
,否則它將自動處理。
默認(rèn)情況下,Turbine通過在Eureka中查找其
hostName
和port
條目,然后將/hystrix.stream
附加到已注冊實例上來查找/hystrix.stream
端點。如果實例的元數(shù)據(jù)包含management.port
,則使用它代替/hystrix.stream
端點的port
值。默認(rèn)情況下,名為management.port
的元數(shù)據(jù)條目等于management.port
配置屬性??梢允褂靡韵屡渲酶采w它:
eureka: instance: metadata-map: management.port: ${management.port:8081}
turbine.appConfig
配置密鑰是Eureka serviceId的列表,渦輪使用它們來查找實例。然后,在Hystrix儀表板中使用渦輪流,其URL類似于以下內(nèi)容:
https://my.turbine.server:8080/turbine.stream?cluster=CLUSTERNAME
如果名稱為default
,則可以省略cluster
參數(shù)。cluster
參數(shù)必須與turbine.aggregator.clusterConfig
中的條目匹配。從Eureka返回的值是大寫的。因此,如果存在一個向Eureka注冊的名為customers
的應(yīng)用程序,則以下示例可用:
turbine: aggregator: clusterConfig: CUSTOMERS appConfig: customers
如果您需要自定義Turbine應(yīng)該使用哪些集群名稱(因為您不想在turbine.aggregator.clusterConfig
配置中存儲集群名稱),請?zhí)峁╊愋蜑?code>TurbineClustersProvider的bean。
clusterName
可以通過turbine.clusterNameExpression
中的SPEL表達(dá)式進(jìn)行自定義,其中根目錄為InstanceInfo
的實例。默認(rèn)值為appName
,這意味著Eureka serviceId
成為群集密鑰(即,客戶的InstanceInfo
的appName
為CUSTOMERS
)。一個不同的示例是turbine.clusterNameExpression=aSGName
,它從AWS
ASG名稱獲取集群名稱。以下清單顯示了另一個示例:
turbine: aggregator: clusterConfig: SYSTEM,USER appConfig: customers,stores,ui,admin clusterNameExpression: metadata['cluster']
在前面的示例中,來自四個服務(wù)的群集名稱是從它們的元數(shù)據(jù)映射中拉出的,并且期望其值包括SYSTEM
和USER
。
要將“ 默認(rèn) ”群集用于所有應(yīng)用程序,您需要一個字符串文字表達(dá)式(如果在YAML中,也要使用單引號和雙引號進(jìn)行轉(zhuǎn)義):
turbine: appConfig: customers,stores clusterNameExpression: "'default'"
Spring Cloud提供了spring-cloud-starter-netflix-turbine
,它具有運行Turbine服務(wù)器所需的所有依賴關(guān)系。要添加Turbine,請創(chuàng)建一個Spring Boot應(yīng)用程序并使用@EnableTurbine
對其進(jìn)行注釋。
默認(rèn)情況下,Spring Cloud允許Turbine使用主機(jī)和端口以允許每個主機(jī),每個集群多個進(jìn)程。如果你想建立在本地Netflix的行為Turbine,以不使每臺主機(jī)的多個進(jìn)程,每簇(關(guān)鍵實例ID是主機(jī)名),集合
turbine.combineHostPort=false
。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: