hystrix案例構建基礎module

2021-10-25 01:28:41 字數 3322 閱讀 1825

1、新建cloud-provider-hystrix-payment8001

2、改pom

>

>

>

org.springframework.cloudgroupid

>

>

spring-cloud-starter-netflix-hystrixartifactid

>

dependency

>

>

>

org.springframework.cloudgroupid

>

>

spring-cloud-starter-netflix-eureka-clientartifactid

>

dependency

>

>

>

com.atguigu.springcloudgroupid

>

>

cloud-api-commonsartifactid

>

>

$version

>

dependency

>

>

>

org.springframework.bootgroupid

>

>

spring-boot-starter-webartifactid

>

dependency

>

>

>

org.springframework.bootgroupid

>

>

spring-boot-starter-actuatorartifactid

>

dependency

>

>

>

org.springframework.bootgroupid

>

>

spring-boot-devtoolsartifactid

>

>

runtimescope

>

>

trueoptional

>

dependency

>

>

>

org.projectlombokgroupid

>

>

lombokartifactid

>

>

trueoptional

>

dependency

>

>

>

org.springframework.bootgroupid

>

>

spring-boot-starter-testartifactid

>

>

testscope

>

dependency

>

dependencies

>

3、寫yml

server

:port

:8001

spring::

name

: cloud-provider-hystrix-payment

eureka

:client

:register-with-eureka

:true

#表識向註冊中心註冊自己

fetch-registry

:true

service-url

:# defaultzone: 這裡為了方便不用集群版本

defaultzone

:

4、主啟動類

@enableeurekaclient

public

class

paymenthystrixmain8001

/** * 個人情況:要先觸發fallback後,dashboard才會顯示資料,否則為loading!!!!!

* 下面的配置是為了dashboard可以正常顯示。。。

* @return

*/@bean

public servletregistrationbean getservlet()

}5、業務類

service

@service

public

class

paymentservice

//失敗

public string paymentinfo_timeout

(integer id)

catch

(exception e)

return

"執行緒池:"

+thread.

currentthread()

.getname()

+" paymentinfo_timeout,id: "

+id+

"\t"

+"嗚嗚嗚"

+" 耗時(秒)"

+timenumber;

}}

controller

@restcontroller

@slf4j

public

class

paymentcontroller")

private string serverport;

("/payment/hystrix/ok/"

)public string paymentinfo_ok

(@pathvariable

("id"

) integer id)

("/payment/hystrix/timeout/"

)public string paymentinfo_timeout

(@pathvariable

("id"

) integer id)

}

6、正常測試

1、啟動eureka7001

2、啟動cloud-provider-hystrix-payment8001

3、訪問http://localhost:8001/payment/hystrix/ok/31

4、訪問http://localhost:8001/payment/hystrix/timeout/31(每次呼叫耗費5秒鐘)

上述module均ok,將以上述為根基平台,從正確->錯誤->降級熔斷->恢復

Hystrix(二) 服務熔斷(基礎案例)

熔斷機制是應對雪崩效應的一種微服務鏈路保護機制。當扇出鏈路的某個微服務出錯不可用或者響應時間太長時,會進行服務的降級,進而熔斷該節點微服務的呼叫,快速返回錯誤的響應資訊。當檢測到該節點微服務呼叫響應正常後,恢復呼叫鏈路。在spring cloud框架裡,熔斷機制通過hystrix實現。hystrix...

Hystrix的簡介及使用案例

雪崩效應 分布式系統環境下,服務間類似依賴非常常見,乙個業務呼叫通常依賴多個基礎服務,當某個服務不可用時,商品服務請求執行緒被阻塞,當有大批量請求呼叫該服務時,最終可能使整個服務資源耗盡,無法繼續對外提供服務。hystrix正式為了解決這種問題才出現的。服務熔斷 服務熔斷一般是指軟體系統中,由於某些...

Hystrix服務熔斷基礎操作

新增pom依賴 org.springframework.cloud groupid spring cloud starter hystrix artifactid 1.4.6 release version dependency 啟動類 enableeurekaclient 自動在服務啟動後自動註冊...