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