博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java b2b2c shop 多用户商城系统源码- eureka集群整合hystrix框架
阅读量:6403 次
发布时间:2019-06-23

本文共 1393 字,大约阅读时间需要 4 分钟。

继之前项目继续整合hystrix框架,hystrix框架为Netflix的模块,是一个容错框架。当用户访问服务调用者的时候,如果服务提供者出现异常导致无法正常返回出现请求超时的情况,而服务调用者并不知情,还在继续请求,这样会导致服务的崩溃。

传统的解决办法:添加超时机制、人肉运维,而hystrix正是为解决这一问题,它在服务调用者与服务提供者之间增加了容错机制,当服务提供者无法提供服务的时候,服务调用者会根据设置的超时时间来阻断请求,并调用回退逻辑。

1、添加hystrix依赖

org.springframework.cloud
spring-cloud-starter-hystrix

2、在application.java类中加入@EnableCircuitBreaker断路器注解。

3、在controller中加入类设置@DefaultProperties超时时间和最大线程值,我们为/hello接口增加一个3秒的线程阻塞,把hystrix的超时时间设置为2秒,让该方法走回退逻辑。接口方法上的@HystrixCommand中的fallbackMethod参数就是回退逻辑的方法名。helloFallback()方法为回退方法。

@RestController@DefaultProperties(groupKey = "hello-groupKey",        commandProperties = {            // 超时时间(毫秒)            @HystrixProperty(name = "execution.isolation.thread.timeoutInMilliseconds", value = "2000")        },        threadPoolProperties = {            // 最大线程数            @HystrixProperty(name = "coreSize", value = "2")        })public class MyRestController {    @Autowired    private IService iService;    @GetMapping(value = "/hello", produces = MediaType.APPLICATION_JSON_UTF8_VALUE)    @HystrixCommand(fallbackMethod = "helloFallback", commandKey = "hello-commandKey")    public String hello() throws InterruptedException {        Thread.sleep(3000);        String hello = iService.hello();        return "hello: " + hello;    }    public String helloFallback() {        return "helloFallback";    }}

转载地址:http://ienea.baihongyu.com/

你可能感兴趣的文章
psycopg2 postgresql driver for python don't support prepared statement Direct
查看>>
Java 混淆那些事(六):Android 混淆的那些琐事
查看>>
RecyclerView的Adapter中attach和detach探索
查看>>
Application,Activity,Service的创建流程(2)
查看>>
Hikari连接池使用SpringBoot配置JMX监控
查看>>
15.当心局部块函数声明笨拙的作用域
查看>>
BFC模型浅识
查看>>
maven入门总结
查看>>
在Angular中操作DOM:意料之外的结果及优化技术
查看>>
编写一个webpack的loader(1)
查看>>
《金三银四面试系列》— jvm与性能优化
查看>>
iOS K线三方库 - ZXKLine
查看>>
必须明白的浏览器渲染机制
查看>>
Linux 内核101:异步IO
查看>>
UINavigationBar 的详解 (基于 API)
查看>>
太坊智能合约开发第一篇:IDE对solidity语法的支持
查看>>
web-audio-api可视化音乐播放器,实现暂停切换歌曲功能,粉色系专场~
查看>>
Fiddler抓包和修改WebSocket数据,支持wss
查看>>
Python知识点总结篇(五)
查看>>
戴老师的学习验收(一,二)
查看>>