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 自動在服務啟動後自動註冊...