微服務(wù)熔斷限流Hystrix之流聚合

文章首發(fā)于微信公眾號(hào)《程序員果果》
地址:https://mp.weixin.qq.com/s/2RNK2XkjTvd1sUM7oR-Jfw
本篇源碼:https://github.com/gf-huanchupk/SpringCloudLearning

簡(jiǎn)介

上一篇介紹了 Hystrix Dashboard 監(jiān)控單體應(yīng)用的例子递礼,在生產(chǎn)環(huán)境中,監(jiān)控的應(yīng)用往往是一個(gè)集群召娜,我們需要將每個(gè)實(shí)例的監(jiān)控信息聚合起來分析狈蚤,這就用到了 Turbine 工具。Turbine有一個(gè)重要的功能就是匯聚監(jiān)控信息,并將匯聚到的監(jiān)控信息提供給Hystrix Dashboard來集中展示和監(jiān)控草冈。

流程

實(shí)驗(yàn)

工程說明

工程名 端口 作用
eureka-server 8761 注冊(cè)中心
service-hi 8762 服務(wù)提供者
service-consumer 8763 服務(wù)消費(fèi)者
service-turbine 8765 Turbine服務(wù)

核心代碼

eureka-server 、service-hi瓮增、service-consumer 工程代碼與上一節(jié) 微服務(wù)熔斷限流Hystrix之Dashboard 相同怎棱,下面是 service-turbine 工程的核心代碼。

pom.xml

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
<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.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>

application.yml

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

參數(shù)說明:

  • turbine.app-config:指定要監(jiān)控的應(yīng)用名
  • turbine.cluster-name-expression:指定集群的名字
  • turbine.combine-host-port:表示同一主機(jī)上的服務(wù)通過host和port的組合來進(jìn)行區(qū)分绷跑,默認(rèn)情況下是使用host來區(qū)分拳恋,這樣會(huì)使本地調(diào)試有問題

啟動(dòng)類

@SpringBootApplication
@EnableEurekaClient
@EnableHystrixDashboard
@EnableTurbine
public class ServiceTurbineApplication {

    public static void main(String[] args) {
        SpringApplication.run( ServiceTurbineApplication.class, args );
    }

}

模擬多實(shí)例

啟動(dòng)多個(gè) service-consumer 工程,來模擬多實(shí)例砸捏,可以通過命令java -jar service-consumer.jar --server.port=XXXX 來實(shí)現(xiàn)谬运。

為了方便,在編輯器中實(shí)現(xiàn)啟動(dòng)工程垦藏。但 idea 不支持單個(gè)應(yīng)用的多次啟動(dòng)梆暖, 需要開啟并行啟動(dòng):

選擇 “Edit Configurations...”

勾選 “Allow running in parallel”

測(cè)試

啟動(dòng)工程,訪問 http//localhost:8763/hi , http//localhost:8764/hi , http//localhost:8763/oh , http//localhost:8764/oh掂骏,來產(chǎn)生測(cè)試數(shù)據(jù)式廷。

訪問 http://localhost:8765/hystrix

輸入監(jiān)控流地址 http://localhost:8765/turbine.stream 芭挽,點(diǎn)擊 Monitor Stream 進(jìn)入監(jiān)控頁面

可以看到聚合了兩個(gè)實(shí)例的 Hystrix dashbord 數(shù)據(jù)。

源碼

https://github.com/gf-huanchupk/SpringCloudLearning/tree/master/chapter18

歡迎掃碼或微信搜索公眾號(hào)《程序員果果》關(guān)注我蝗肪,關(guān)注有驚喜~


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末袜爪,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子薛闪,更是在濱河造成了極大的恐慌辛馆,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,277評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異昙篙,居然都是意外死亡腊状,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,689評(píng)論 3 393
  • 文/潘曉璐 我一進(jìn)店門苔可,熙熙樓的掌柜王于貴愁眉苦臉地迎上來缴挖,“玉大人,你說我怎么就攤上這事焚辅∮澄荩” “怎么了?”我有些...
    開封第一講書人閱讀 163,624評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵同蜻,是天一觀的道長(zhǎng)棚点。 經(jīng)常有香客問我,道長(zhǎng)湾蔓,這世上最難降的妖魔是什么瘫析? 我笑而不...
    開封第一講書人閱讀 58,356評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮默责,結(jié)果婚禮上贬循,老公的妹妹穿的比我還像新娘。我一直安慰自己傻丝,他們只是感情好甘有,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,402評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著葡缰,像睡著了一般亏掀。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上泛释,一...
    開封第一講書人閱讀 51,292評(píng)論 1 301
  • 那天滤愕,我揣著相機(jī)與錄音,去河邊找鬼怜校。 笑死间影,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的茄茁。 我是一名探鬼主播魂贬,決...
    沈念sama閱讀 40,135評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼裙顽!你這毒婦竟也來了付燥?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,992評(píng)論 0 275
  • 序言:老撾萬榮一對(duì)情侶失蹤愈犹,失蹤者是張志新(化名)和其女友劉穎键科,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,429評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡勋颖,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,636評(píng)論 3 334
  • 正文 我和宋清朗相戀三年嗦嗡,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片饭玲。...
    茶點(diǎn)故事閱讀 39,785評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡侥祭,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出咱枉,到底是詐尸還是另有隱情卑硫,我是刑警寧澤,帶...
    沈念sama閱讀 35,492評(píng)論 5 345
  • 正文 年R本政府宣布蚕断,位于F島的核電站欢伏,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏亿乳。R本人自食惡果不足惜硝拧,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,092評(píng)論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望葛假。 院中可真熱鬧障陶,春花似錦、人聲如沸聊训。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,723評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽带斑。三九已至鼓寺,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間勋磕,已是汗流浹背妈候。 一陣腳步聲響...
    開封第一講書人閱讀 32,858評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留挂滓,地道東北人苦银。 一個(gè)月前我還...
    沈念sama閱讀 47,891評(píng)論 2 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像赶站,于是被迫代替她去往敵國(guó)和親幔虏。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,713評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容