最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

微服務搭建集成Spring Cloud Turbine詳解

 更新時間:2019年06月10日 09:59:36   投稿:newname  
Spring Cloud是一系列框架的有序集合。它利用Spring Boot的開發(fā)便利性巧妙地簡化了分布式系統(tǒng)基礎設施的開發(fā),最終給開發(fā)者留出了一套簡單易懂、易部署和易維護的分布式系統(tǒng)開發(fā)工具包。下面我們來詳細了解一下吧

1.概述

本文中,我將向你介紹Spring Cloud Netflix Turbine。它將多個Hystrix Metrics Streams 聚合為一個,以便顯示在一個儀表板視圖中。

簡要介紹Hystrix 。 在微服務架構中,我們有許多小應用程序相互通信以完成請求。這些下游服務有可能無法正確響應或完全失敗。為了防止發(fā)生級聯(lián)故障,我們?yōu)槲⒎赵O置了Hystrix回退機制。

每個實現(xiàn)Hystrix的微服務都可以選擇公開Hystrix Metrics Streams(通過actuator端點/hystrix.stream),以便通過Hystrix Dashboard查看。

如果您想了解更多信息,我已在Spring Cloud:Hystrix中詳細介紹了這一點。

Turbine是Netflix的一個開源工具,用于將多個流聚合到一個流中。 Spring提供了一個很好的包裝器,以方便在Spring生態(tài)系統(tǒng)中使用。

2.搭建

類似于Spring Cloud:Hystrix的設置,后端服務如下所示:

  • Eureka Server :作為服務注冊運行并在端口8761上運行。
  • 推薦服務:一個簡單的REST服務,只有一個端點:/recommendations,并在端口8070上運行。
  • 用戶服務:一個簡單的REST服務,單個端點為:/personalized/{id},并在端口8060上運行。
  • Hystrix Turbine :Hystrix dashboard服務,用于顯示Hystrix流,并在端口'9090'上運行。

以下是我們在Eureka服務器上看到的服務列表:

user-service和recommendation-service都實現(xiàn)了Hystrix回退機制,并通過Actuator暴露了/hystrix.stream端點:

  • 用戶服務的Hystrix端點:http://localhost:8060/actuator/hystrix.stream
  • 用于推薦服務的Hystrix端點:http://localhost:8070/actuator/hystrix.stream

我們可以在Hystrix dashboard中單獨查看這些,方法是在框中鍵入URL并單擊Monitor Stream即可:

你將看到如下指標(metric):

注意:如果沒有看到任何流(stream),那么可能必須點擊該stream的服務端點。 例如:對于user-service,我們可以點擊http://localhost:8060/personalized/1來生成流。

3.安裝Turbine

你可能已經(jīng)意識到,查看單個流(stream)的效率不高,尤其是有許多微服務時。

Turbine可以將所有單獨的hystrix.stream聚合成一個turbine.stream,以便在Hystrix Dashboard上查看。

它使用DiscoveryClient接口找出生產/hystrix.stream的相關服務。

要將Turbine添加到Hystrix dashboard,請?zhí)砑右韵乱蕾図棧?br />

<dependency> 
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-turbine</artifactId>
</dependency> 

注意:這是Turbine的starter依賴,默認情況下使用Spring Cloud Eureka作為服務發(fā)現(xiàn)。 如果使用的是Spring Cloud Consul,請使用以下依賴項:

<dependency> 
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-netflix-turbine</artifactId>
</dependency> 
<dependency> 
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-consul-discovery</artifactId>
</dependency> 

在本文中,我們將使用starter依賴,即spring-cloud-starter-netflix-turbine。

要啟用Turbine,只需使用@EnableTurbine注解主類:

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

為了使Turbine按預期工作,我們必須在application.properties中添加一些細節(jié):

server.port= 9090 
spring.application.name= hystirx-turbine 
eureka.client.serviceUrl.defaultZone= http://localhost:8761/eureka/ 
turbine.appConfig= user-service,recommendation-service 
turbine.clusterNameExpression= new String("default") 

在這里,我們告訴Turbine Eureka服務器的位置,以及它需要獲取/ hystrix.stream的應用程序。并將turbine.clusterNameExpression設為new String("default"),即默認集群名稱為“default”。

我們可以打開http://localhost:9090/turbine.stream?cluster=default來查看user-service和recommendation-service的聚合流:

同樣,如果沒有查看到任何內容,只需點擊user-service和recommendation-service端點即可生成流。

我們還可以在Hystrix dashboard上使用此URL來生成一個很好的聚合視圖:

有時,您可能希望將Eureka的serviceId用作dashboard的集群名稱。這可以通過設置turbine.aggregator.clusterConfig來完成:

server.port = 9090
spring.application.name = hystirx-turbine
eureka.client.serviceUrl.defaultZone = http:// localhost:8761 / eureka /
turbine.aggregator.clusterConfig = USER-SERVICE,RECOMMENDATION-SERVICE
turbine.appConfig =用戶服務,推薦服務

您還可以通過點擊/clusters端點來檢查Turbine應用程序中當前已配置的集群。

可以通過將turbine.endpoints.clusters.enabled設置為false來禁用此端點。

所以,現(xiàn)在我們可以將turbine.stream視為Eureka ID,例如:http://localhost:9090/turbine.stream?cluster=USER-SERVICE

如果特定服務的多個實例正在運行,Turbine將按照集群進行分揀并將其顯示在結果中。

4.總結

在本文中,我們已經(jīng)介紹了如何在Hystrix stream的基礎上設置Turbine以獲得聚合視圖。我們首先看到了Turbine從所有服務中獲取Hystrix stream的經(jīng)典方法。

與往常一樣,本文中使用的示例代碼可以在GitHub上找到。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • Java HashSet(散列集),HashMap(散列映射)的簡單介紹

    Java HashSet(散列集),HashMap(散列映射)的簡單介紹

    這篇文章主要介紹了Java HashSet(散列集),HashMap(散列映射)的簡單介紹,幫助大家更好的理解和學習Java集合框架的相關知識,感興趣的朋友可以了解下
    2021-01-01
  • Spring中的BeanFactory對象實例化工廠詳解

    Spring中的BeanFactory對象實例化工廠詳解

    這篇文章主要介紹了Spring中的BeanFactory對象實例化工廠詳解,BeanFactory及其子類是Spring IOC容器中最重要的一個類,BeanFactory由類名可以看出其是一個Bean工廠類,其實它確實是一個Bean工廠類,完成Bean的初始化操作,需要的朋友可以參考下
    2023-12-12
  • Eclipse配置SVN的幾種方法及使用詳情

    Eclipse配置SVN的幾種方法及使用詳情

    這篇文章主要介紹了Eclipse配置SVN的幾種方法及使用詳情,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-12-12
  • Spring Boot中使用Spring-data-jpa的配置方法詳解

    Spring Boot中使用Spring-data-jpa的配置方法詳解

    今天小編就為大家分享一篇關于Spring Boot中使用Spring-data-jpa的配置方法詳解,小編覺得內容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-03-03
  • MyBatisPlus利用Service實現(xiàn)獲取數(shù)據(jù)列表

    MyBatisPlus利用Service實現(xiàn)獲取數(shù)據(jù)列表

    這篇文章主要為大家詳細介紹了怎樣使用 IServer 提供的 list 方法查詢多條數(shù)據(jù),這些方法將根據(jù)查詢條件獲取多條數(shù)據(jù),感興趣的可以了解一下
    2022-06-06
  • SpringCloud通用請求字段攔截處理方法

    SpringCloud通用請求字段攔截處理方法

    這篇文章主要介紹了SpringCloud通用請求字段攔截處理,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-07-07
  • java eclipse 整個項目或包查找只定字符串并替換操作

    java eclipse 整個項目或包查找只定字符串并替換操作

    這篇文章主要介紹了java eclipse 整個項目或包查找只定字符串并替換操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09
  • Java List的remove()方法踩坑

    Java List的remove()方法踩坑

    Java的List在刪除元素時,一般會用list.remove(o)/remove(i)方法。在使用時,容易觸碰陷阱,本文就來介紹一下容易踩的坑,感興趣的可以了解一下
    2021-10-10
  • Array?Index?Out?of?Bounds:數(shù)組越界錯誤解決方案及調試技巧

    Array?Index?Out?of?Bounds:數(shù)組越界錯誤解決方案及調試技巧

    數(shù)組越界訪問是指訪問數(shù)組中超出其有效索引范圍的元素,這是一種常見的編程錯誤,可能導致程序崩潰或數(shù)據(jù)損壞,下面這篇文章主要給大家介紹了關于Array?Index?Out?of?Bounds:數(shù)組越界錯誤解決方案及調試技巧的相關資料,需要的朋友可以參考下
    2024-08-08
  • Java分布式服務框架Dubbo介紹

    Java分布式服務框架Dubbo介紹

    這篇文章介紹了Java分布式服務框架Dubbo,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-06-06

最新評論

莲花县| 长岛县| 兰溪市| 浦东新区| 巴青县| 九台市| 新宁县| 喀喇| 元氏县| 黄骅市| 灵宝市| 江陵县| 中方县| 株洲市| 苏尼特右旗| 岐山县| 碌曲县| 水富县| 威远县| 重庆市| 博罗县| 尉氏县| 武穴市| 怀化市| 潢川县| 涟源市| 清流县| 清水河县| 五家渠市| 炉霍县| 南安市| 金平| 安乡县| 连州市| 七台河市| 寿阳县| 西畴县| 缙云县| 双柏县| 绍兴县| 广元市|