首先忘伞,看一下熔斷插件hystrix的介紹 netflix hystrix插件介紹
簡而言之霹肝,作用就是割去,復(fù)雜分布式體系結(jié)構(gòu)中的應(yīng)用程序具有數(shù)十種依賴關(guān)系只泼,每種依賴關(guān)系不可避免地會在某個時刻失敗。如果主機(jī)應(yīng)用程序未與這些外部故障隔離開來软驰,可能會導(dǎo)致大部分請求無效涧窒,這個時候就需要熔斷插件。
Soul啟用hystrix插件
<dependency>
<groupId>org.dromara</groupId>
<artifactId>soul-spring-boot-starter-plugin-hystrix</artifactId>
<version>${last.version}</version>
</dependency>
插件管理中開啟使用
維護(hù)選擇器
維護(hù)規(guī)則
soul-examples-http 啟動一個8188端口的測試
server:
port: 8188
address: 0.0.0.0
soul:
http:
adminUrl: http://localhost:9095
port: 8188
contextPath: /http
appName: http
full: fals
@GetMapping("/findById")
@SoulSpringMvcClient(path = "/findById", desc = "Find by id")
public OrderDTO findById(@RequestParam("id") final String id) {
OrderDTO orderDTO = new OrderDTO();
orderDTO.setId(id);
orderDTO.setName("hello world findById");
try {
Thread.sleep(10000);
} catch (InterruptedException e) {
e.printStackTrace();
}
return orderDTO;
}
返回結(jié)果
{
"code": -104,
"message": "Service call timeout!",
"data": null
}
soul-examples-http 啟動一個8189端口的測試锭亏,可以在指定時間內(nèi)返回的纠吴,請求成功,返回
{
"id": "1",
"name": "hello world findById"
}