springcloud(六):熔斷監控Turbine
在複雜的分散式系統中,相同服務的節點經常需要部署上百甚至上千個,很多時候,運維人員希望能夠把相同服務的節點狀態以一個整體叢集的形式展現出來,這樣可以更好的把握整個系統的狀態。 為此,Netflix提供了一個開源專案(Turbine)來提供把多個hystrix.stream的內容聚合為一個資料來源供Dashboard展示。願意瞭解原始碼的朋友直接求求交流分享技術:二一四七七七五六三三
1、新增依賴
<dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-turbine</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-netflix-turbine</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-hystrix-dashboard</artifactId> </dependency> </dependencies>
2、配置檔案
spring.application.name=hystrix-dashboard-turbine server.port=8001 turbine.appConfig=node01,node02 turbine.aggregator.clusterConfig= default turbine.clusterNameExpression= new String("default") eureka.client.serviceUrl.defaultZone=
turbine.appConfig :配置Eureka中的serviceId列表,表明監控哪些服務
turbine.aggregator.clusterConfig :指定聚合哪些叢集,多個使用”,”分割,預設為default。可使用{clusterConfig之一}訪問
turbine.clusterNameExpression : 1. clusterNameExpression指定叢集名稱,預設表示式appName;此時:turbine.aggregator.clusterConfig需要配置想要監控的應用名稱;2. 當clusterNameExpression: default時,turbine.aggregator.clusterConfig可以不寫,因為預設就是default;3. 當clusterNameExpression: metadata[‘cluster’]時,假設想要監控的應用配置了eureka.instance.metadata-map.cluster: ABC,則需要配置,同時turbine.aggregator.clusterConfig: ABC
3、啟動類
啟動類新增@EnableTurbine,啟用對Turbine的支援
@SpringBootApplication @EnableHystrixDashboard @EnableTurbine public class DashboardApplication { public static void main(String[] args) { SpringApplication.run(DashboardApplication.class, args); } }
到此Turbine(hystrix-dashboard-turbine)配置完成
4、測試
在示例專案spring-cloud-consumer-hystrix基礎上修改為兩個服務的呼叫者spring-cloud-consumer-node1和spring-cloud-consumer-node2
spring-cloud-consumer-node1專案改動如下: application.properties檔案內容
spring.application.name=node01 server.port=9001 feign.hystrix.enabled=true eureka.client.serviceUrl.defaultZone=
spring-cloud-consumer-node2專案改動如下: application.properties檔案內容
spring.application.name=node02 server.port=9002 feign.hystrix.enabled=true eureka.client.serviceUrl.defaultZone=
HelloRemote類修改:
@FeignClient(name= "spring-cloud-producer2", fallback = HelloRemoteHystrix.class) public interface HelloRemote { @RequestMapping(value = "/hello") public String hello2(@RequestParam(value = "name") String name); }
對應的HelloRemoteHystrix和ConsumerController類跟隨修改,具體檢視程式碼
修改完畢後,依次啟動spring-cloud-eureka、spring-cloud-consumer-node1、spring-cloud-consumer-node1、hystrix-dashboard-turbine(Turbine)
開啟eureka後臺可以看到註冊了三個服務:
訪問
返回:
: ping data: {"reportingHostsLast10Seconds":1,"name":"meta","type":"meta","timestamp":1494921985839}
並且會不斷重新整理以獲取實時的監控資料,說明和單個的監控類似,返回監控專案的資訊。進行圖形化監控檢視,輸入:,返回酷酷的小熊介面,輸入: ,然後點選 Monitor Stream ,可以看到出現了倆個監控列表
整體程式碼結構如下:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31539957/viewspace-2221916/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- springcloud(五):熔斷監控Hystrix Dashboard和TurbineSpringGCCloud
- 微服務SpringCloud之熔斷監控Hystrix Dashboard和Turbine微服務SpringGCCloud
- 跟我學SpringCloud | 第五篇:熔斷監控Hystrix Dashboard和TurbineSpringGCCloud
- springcloud(五):熔斷監控Hystrix DashboardSpringGCCloud
- SpringCloud之斷路器聚合監控(Hystrix Turbine)SpringGCCloud
- 白話SpringCloud | 第六章:Hystrix監控皮膚及資料聚合(Turbine)SpringGCCloud
- java B2B2C springmvc mybatis電子商務平臺原始碼--熔斷監控TurbineJavaSpringMVCMyBatis原始碼
- 業餘草 SpringCloud教程 | 第十二篇: 斷路器聚合監控(Hystrix Turbine)(Finchley版本)SpringGCCloud
- springcloud之Hystrix熔斷器SpringGCCloud
- springcloud(四):熔斷器HystrixSpringGCCloud
- 微服務SpringCloud之熔斷器微服務SpringGCCloud
- springcloud3(六) 服務降級限流熔斷元件Resilience4jSpringGCCloud元件
- SpringCloud-Hystrix 服務降級、熔斷SpringGCCloud
- 五. SpringCloud服務降級與熔斷SpringGCCloud
- 《SpringCloud專題17》-Hystrix熔斷器案例SpringGCCloud
- SpringCloud原始碼學習之Hystrix熔斷器SpringGCCloud原始碼
- SpringCloud學習筆記:熔斷器Hystrix(5)SpringGCCloud筆記
- 跟我學SpringCloud | 第四篇:熔斷器HystrixSpringGCCloud
- 使用springcloud gateway搭建閘道器(分流,限流,熔斷)SpringGCCloudGateway
- (24)SpringCloud-Hystrix(熔斷器)介紹及使用SpringGCCloud
- spring整合feign和hystrix實現RPC熔斷降級和監控SpringRPC
- springcloud之hystrix熔斷器-Finchley.SR2版SpringGCCloud
- SpringMvc整合開源流量監控、限流、熔斷降級、負載保護元件SentinelSpringMVC負載元件
- SpringCloud Netflix (五) : Hystrix 服務熔斷和服務降級SpringGCCloud
- SpringCloud使用Prometheus監控(基於Eureka)SpringGCCloudPrometheus
- 9.Spring Cloud Alibaba Sentinel流控熔斷元件SpringCloud元件
- SpringCloud分散式微服務雲架構 | 第十一篇: 斷路器監控SpringGCCloud分散式微服務架構
- SpringCloud 應用在 Kubernetes 上的最佳實踐 — 高可用(熔斷)SpringGCCloud
- 異常監控和判斷
- springCloud分散式微服務雲架構 第十二篇: 斷路器聚合監控SpringGCCloud分散式微服務架構
- Spring Cloud 快速入門(四)Hystrix Dashboard 監控儀表盤、Turbine 聚合監控、服務降級報警機制SpringCloud
- 業餘草 SpringCloud教程 | 第十一篇: 斷路器監控(Hystrix Dashboard)(Finchley版本)SpringGCCloud
- SpringCloud使用Sofa-lookout監控(基於Eureka)SpringGCCloud
- springCloud入門學習--Hystrix狀態監控SpringGCCloud
- 熔斷原理與實現
- 熔斷器設計模式設計模式
- Envoy熔斷限流實踐(一)基於Rainbond外掛實現熔斷AI
- springcloud 微服務配置監控端點 hystrix.streamSpringGCCloud微服務