上一篇介紹了 Hystrix Dashboard 監(jiān)控單體應用的例子,在生產環(huán)境中,監(jiān)控的應用往往是一個集群,我們需要將每個實例的監(jiān)控信息聚合起來分析,這就用到了 Turbine 工具。Turbine有一個重要的功能就是匯聚監(jiān)控信息,并將匯聚到的監(jiān)控信息提供給Hystrix Dashboard來集中展示和監(jiān)控。
成都創(chuàng)新互聯(lián):公司2013年成立為各行業(yè)開拓出企業(yè)自己的“網站建設”服務,為數千家公司企業(yè)提供了專業(yè)的成都網站設計、做網站、網頁設計和網站推廣服務, 定制制作由設計師親自精心設計,設計的效果完全按照客戶的要求,并適當的提出合理的建議,擁有的視覺效果,策劃師分析客戶的同行競爭對手,根據客戶的實際情況給出合理的網站構架,制作客戶同行業(yè)具有領先地位的。
工程名 | 端口 | 作用 |
---|---|---|
eureka-server | 8761 | 注冊中心 |
service-hi | 8762 | 服務提供者 |
service-consumer | 8763 | 服務消費者 |
service-turbine | 8765 | Turbine服務 |
eureka-server 、service-hi、service-consumer 工程代碼與上一節(jié) 微服務熔斷限流Hystrix之Dashboard 相同,下面是 service-turbine 工程的核心代碼。
org.springframework.cloud
spring-cloud-starter-netflix-eureka-client
org.springframework.cloud
spring-cloud-starter-netflix-turbine
org.springframework.boot
spring-boot-starter-actuator
org.springframework.cloud
spring-cloud-starter-netflix-hystrix
org.springframework.cloud
spring-cloud-starter-netflix-hystrix-dashboard
server:
port: 8765
spring:
application:
name: service-turbine
eureka:
client:
service-url:
defaultZone: http://localhost:8761/eureka/
turbine:
app-config: service-consumer
cluster-name-expression: new String("default")
combine-host-port: true
參數說明:
@SpringBootApplication
@EnableEurekaClient
@EnableHystrixDashboard
@EnableTurbine
public class ServiceTurbineApplication {
public static void main(String[] args) {
SpringApplication.run( ServiceTurbineApplication.class, args );
}
}
啟動多個 service-consumer 工程,來模擬多實例,可以通過命令java -jar service-consumer.jar --server.port=XXXX 來實現。
為了方便,在編輯器中實現啟動工程。但 idea 不支持單個應用的多次啟動, 需要開啟并行啟動:
選擇 “Edit Configurations...”
勾選 “Allow running in parallel”
啟動工程,訪問 http//localhost:8763/hi , http//localhost:8764/hi , http//localhost:8763/oh , http//localhost:8764/oh,來產生測試數據。
訪問 http://localhost:8765/hystrix ,
輸入監(jiān)控流地址 http://localhost:8765/turbine.stream ,點擊 Monitor Stream 進入監(jiān)控頁面
可以看到聚合了兩個實例的 Hystrix dashbord 數據。
https://github.com/gf-huanchupk/SpringCloudLearning/tree/master/chapter18
歡迎關注我的公眾號《程序員果果》,關注有驚喜~~