日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

springCloud Finchley 实战入门(基于springBoot 2.0.3)【六 Hystrix 仪表盘】

發布時間:2024/9/21 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 springCloud Finchley 实战入门(基于springBoot 2.0.3)【六 Hystrix 仪表盘】 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Hystrix儀表盤

通過上一篇我們已經成功的實現了spring cloud對Hystrix的整合了。除此之外,spring cloud還完美的整合了Hystrix的儀表盤組件Hystrix Dashboard。該組件主要是用來實時監控Hystrix的各項指示信息的。通過Hystrix Dashboard反饋的信息,可以幫助我們快速的發現系統中存在的問題,從而即使采取應對方法。

快速入門(單實例監控)

先演示針對單個應用的監控

創建一個module命名為"eureka-hystrix-dashboard",創建時選擇對應的組件


1532502505125.png

創建成功后,我們還需要在pom.xml中添加actuator的依賴:

<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.example</groupId><artifactId>eureka-hystrix-dashboard</artifactId><version>0.0.1-SNAPSHOT</version><packaging>jar</packaging><name>eureka-hystrix-dashboard</name><description>Demo project for Spring Boot</description><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.0.3.RELEASE</version><relativePath/> <!-- lookup parent from repository --></parent><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding><java.version>1.8</java.version><spring-cloud.version>Finchley.RELEASE</spring-cloud.version></properties><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-server</artifactId></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-hystrix</artifactId></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-hystrix-dashboard</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency></dependencies><dependencyManagement><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>${spring-cloud.version}</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build> </project>

application.yml配置:

spring:application:name: hystrix-dashboard server:port: 2001 eureka:client:serviceUrl:defaultZone: http://peer1:8762/eureka/,http://peer2:8763/eureka/

在主類"EurekaHystrixDashboardApplication",添加@EnableHystrixDashboard注解,表示開啟Hystrix儀表盤監控

@SpringBootApplication @EnableDiscoveryClient @EnableHystrixDashboard public class EurekaHystrixDashboardApplication {public static void main(String[] args) {SpringApplication.run(EurekaHystrixDashboardApplication.class, args);} }

配置完成啟動項目后,訪問地址:http://localhost:2001/hystrix
如果看也下面的頁面就說明項目正常的:

1532502951844.png

通過 Hystrix Dashboard 主頁面的文字介紹,我們可以知道,Hystrix Dashboard 共支持三種不同的監控方式:

默認的集群監控:通過 URL:http://turbine-hostname:port/turbine.stream 開啟,實現對默認集群的監控。
指定的集群監控:通過 URL:http://turbine-hostname:port/turbine.stream?cluster=[clusterName] 開啟,實現對 clusterName 集群的監控。
單體應用的監控: 通過 URL:http://hystrix-app:port/hystrix.stream 開啟 ,實現對具體某個服務實例的監控。(現在這里的 URL 應該為 http://hystrix-app:port/actuator/hystrix.stream,Actuator 2.x 以后endpoints 全部在/actuator下,可以通過management.endpoints.web.base-path修改)。

前兩者都對集群的監控,需要整合 Turbine 才能實現。

因為我們目前先做實現對單體應用的監控,所以這里的單體應用就用使用 Hystrix 實現的服務提供者"eureka-bussniss-service-user-client-ribbon"

頁面上的另外兩個參數:
Delay:控制服務器上輪詢監控信息的延遲時間,默認為 2000 毫秒,可以通過配置該屬性來降低客戶端的網絡和 CPU 消耗。
Title:該參數可以展示合適的標題。

配置服務提供者

Hystrix Dashboard 監控單實例節點需要通過訪問實例的/actuator/hystrix.stream接口來實現,所以我們需要為服務提供者做一下配置。 在"eureka-bussniss-service-user-client-ribbon"項目的pom文件添加autuator和hystrix的依賴。

<!--添加Hystrix依賴 斷路器容錯保護--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-hystrix</artifactId></dependency><!--監控中心--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId></dependency>

修改application.yml配置
添加management.endpoints.web.exposure.include=hystrix.stream屬性,表示暴露hystrix.stream的監控點地址。

spring:application:name: service-user-ribbon server:port: 8901 eureka:client:serviceUrl:defaultZone: http://peer1:8762/eureka/,http://peer2:8763/eureka/ management:endpoints:web:exposure:include: hystrix.stream

接著在主類名"EurekaBussnissServiceUserClientRibbonApplication"添加@EnableCircuitBreaker 表示啟動Hystrix儀表盤 服務熔斷(ribbon 單服務實例監控)

@SpringBootApplication @EnableEurekaClient @EnableHystrix @EnableCircuitBreaker //Hystrix儀表盤 服務熔斷(ribbon 單服務實例監控) public class EurekaBussnissServiceUserClientRibbonApplication {public static void main(String[] args) {SpringApplication.run(EurekaBussnissServiceUserClientRibbonApplication.class, args);}@Bean@LoadBalanced //開啟客戶端負載均衡RestTemplate restTemplate() {return new RestTemplate();} }

重啟"eureka-bussniss-service-user-client-ribbon"項目。


1532504332432.png

在2001項目頁面中輸入"http://localhost:8901/actuator/hystrix.stream",點擊"Monitor Stream ",注意:(spring boot 2.x)監控地址需要加上actuator的路徑。看到下圖,顯示loding...

1532504462251.png

一直顯示loding...這是因為還沒有檢測到請求,我們訪問一下地址:http://localhost:8901/listUsersByRibbon,然后就可以看到下面的信息了。

1532504537311.png

頁面上面的信息就是顯示服務的具體情況,具體的信息可以去spring cloud的官網深入了解。這里就不過多解釋了。
到這里我們就已經實現了Hystrix dashboard對單個應用的儀表監控了。

快速入門 (集群監控)

創建一個新的module命名為"eureka-hystrix-dashboard-turbine"。創建時選擇對應的組件依賴


1532505439252.png

pom.xml如下:

<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.example</groupId><artifactId>eureka-hystrix-dashboard-turbine</artifactId><version>0.0.1-SNAPSHOT</version><packaging>jar</packaging><name>eureka-hystrix-dashboard-turbine</name><description>Demo project for Spring Boot</description><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.0.3.RELEASE</version><relativePath/> <!-- lookup parent from repository --></parent><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding><java.version>1.8</java.version><spring-cloud.version>Finchley.RELEASE</spring-cloud.version></properties><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-turbine</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency></dependencies><dependencyManagement><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>${spring-cloud.version}</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build> </project>

application.yml配置如下:

spring:application:name: turbine server:port: 8989 management:server:port: 8990 eureka:client:serviceUrl:defaultZone: http://peer1:8762/eureka/,http://peer2:8763/eureka/ turbine:appConfig: service-user-ribbonclusterNameExpression: new String("default")combineHostPort: true

turbine.appConfig表示監控的服務實例(通過serviceId;多個服務實例以逗號分隔)

項目的主類名EurekaHystrixDashboardTurbineApplication添加@EnableTurbine注解

@SpringBootApplication @EnableTurbine @EnableEurekaClient public class EurekaHystrixDashboardTurbineApplication {public static void main(String[] args) {SpringApplication.run(EurekaHystrixDashboardTurbineApplication.class, args);} }

然后service-user項目pom添加hystrix依賴以及主類添加@EnableHystrix@EnableCircuitBreaker注解。

@SpringBootApplication @EnableEurekaClient @EnableHystrix @EnableCircuitBreaker //Hystrix儀表盤 服務熔斷(ribbon 單服務實例監控) public class EurekaBussnissServiceUserApplication {public static void main(String[] args) {SpringApplication.run(EurekaBussnissServiceUserApplication.class, args);} }

pom.xml

<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.example</groupId><artifactId>eureka-bussniss-service-user</artifactId><version>0.0.1-SNAPSHOT</version><packaging>jar</packaging><name>eureka-bussniss-service-user</name><description>Demo project for Spring Boot</description><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.0.3.RELEASE</version><relativePath/> <!-- lookup parent from repository --></parent><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding><java.version>1.8</java.version><spring-cloud.version>Finchley.RELEASE</spring-cloud.version></properties><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-server</artifactId></dependency><!--添加Hystrix依賴 斷路器容錯保護--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-hystrix</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency></dependencies><dependencyManagement><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>${spring-cloud.version}</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement><build><plugins><plugin> <groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build> </project>

重啟相關的服務。同樣是在2001頁面輸入對應的地址http://localhost:8989/turbine.stream 點擊Monitor Stream 我們也同樣是可以實現對服務實例的監控。

1532507114614.png
1532507184545.png

如果aplication.yml中的appConfig是配置了多個的,就會對顯示相應的儀表盤數據。

github 項目源碼

到這里Hystrix儀表盤監控服務實例就基本實現了。接下來我們會用Fegin組件以聲明式服務調用的方式實現Ribbon+Hystrix(負載均衡+服務容錯保護)的功能。

總結

以上是生活随笔為你收集整理的springCloud Finchley 实战入门(基于springBoot 2.0.3)【六 Hystrix 仪表盘】的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 97狠狠操 | 天天干夜夜嗨 | 中文字幕22页 | 五十路六十路 | 在线少妇 | 好看的黄色录像 | 91一区在线观看 | 国产精品777 | 色欲狠狠躁天天躁无码中文字幕 | 亚洲美女高潮久久久 | 亚洲国产v | 777精品伊人久久久久大香线蕉 | 久久久久久香蕉 | 四季av在线一区二区三区 | 巨胸喷奶水www久久久免费动漫 | 最新啪啪网站 | 91sex国产| 夜夜躁日日躁狠狠久久av | 国产在线18 | 青青草手机视频 | 日本天堂网在线观看 | 日韩怡春院 | 亚洲精品成人在线 | 丰满岳乱妇一区二区 | 中文字幕av一区二区三区人妻少妇 | 污在线观看 | 亚洲精品久久久蜜桃网尤妮丝 | 丰满人妻一区二区三区大胸 | 国产v亚洲 | 伊人久久激情 | 调教驯服丰满美艳麻麻在线视频 | 久久99免费视频 | 亚洲国产精品无码专区 | 国产精品久久久久久久久久久久久久 | 国产成人无码av在线播放dvd | 黑人极品ⅴideos精品欧美棵 | 欧美久久久久久又粗又大 | 24小时日本在线www免费的 | 男女乱淫视频 | 亚洲天堂一区二区三区四区 | 久久久久人妻精品一区二区三区 | 日产av在线 | 久久美利坚 | 麻豆自拍偷拍 | 美女扒开腿让男人操 | 影音先锋美女 | 91久久精品www人人做人人爽 | 欧美综合色 | 日韩视频免费观看高清 | 91精产品一区观看 | 天堂在线中文在线 | 亚洲第一天堂久久 | 国产成人影视 | 91一区二区在线 | 国产一区二区三区在线视频观看 | 亚洲精品乱码久久久久久蜜桃91 | 啪啪无遮挡 | 国产片一区二区 | 国产精品视频久久久久久久 | 这里只有精品国产 | 深夜视频一区二区 | 国产做受视频 | 国产日韩欧美中文字幕 | 香蕉久久夜色精品 | 国产人妻精品久久久久野外 | 国产九九精品视频 | 日韩和一区二区 | 美女色av | 久久特黄 | 亚洲AV无码阿娇国产精品 | 免费欧美视频 | 中文有码在线 | 国产在线高清视频 | 97自拍网| 国产一级免费 | 日韩av资源站 | 国产日韩片 | 日本黄动漫 | 2020亚洲天堂 | 成人在线观看免费视频 | 中文字幕丰满人伦在线 | 成年人黄色 | 亚洲国产成人综合 | 天堂精品一区二区三区 | 欧美日性视频 | 91黄色免费看 | 日本www免费 | 不卡日本视频 | 在线免费| 欧美又粗又深又猛又爽啪啪九色 | 成人午夜久久 | 秋霞av一区二区三区 | 精品久久无码视频 | 黄色三级免费观看 | 欧美体内she精高潮 日韩一区免费 | 国产免费aa| 日韩伦理中文字幕 | 精品国产一区二区三区av性色 | 黑丝一区 |