java b2b2c shop 多用户商城系统源码- eureka集群整合hystrix框架

yayay · · 180 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。
继之前项目继续整合hystrix框架,hystrix框架为Netflix的模块,是一个容错框架。当用户访问服务调用者的时候,如果服务提供者出现异常导致无法正常返回出现请求超时的情况,而服务调用者并不知情,还在继续请求,这样会导致服务的崩溃。 需要JAVA Spring Cloud大型企业分布式微服务云构建的B2B2C电子商务平台源码请加企鹅求求 :二一四七七七五六三三 传统的解决办法:添加超时机制、人肉运维,而hystrix正是为解决这一问题,它在服务调用者与服务提供者之间增加了容错机制,当服务提供者无法提供服务的时候,服务调用者会根据设置的超时时间来阻断请求,并调用回退逻辑。 1、添加hystrix依赖 ``` <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-hystrix</artifactId> </dependency> ``` 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"; } } ``` [微服务java b2b商城系统_java商城源码100%开源适合2次开发 ](http://minglisoft.cn/honghu/tech.html)
180 次点击  
加入收藏 微博
1 回复  |  直到
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet