java b2b2c shop 多用户商城系统源码- eureka集群整合hystrix框架
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java b2b2c shop 多用户商城系统源码- eureka集群整合hystrix框架,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1746字,纯文字阅读大概需要3分钟。
内容图文
继之前项目继续整合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次开发
内容总结
以上是互联网集市为您收集整理的java b2b2c shop 多用户商城系统源码- eureka集群整合hystrix框架全部内容,希望文章能够帮你解决java b2b2c shop 多用户商城系统源码- eureka集群整合hystrix框架所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。