前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SpringCloud Hystrix服务治理(3)

SpringCloud Hystrix服务治理(3)

作者头像
高大北
发布2022-06-14 20:01:49
3230
发布2022-06-14 20:01:49
举报
文章被收录于专栏:java架构计划训练营

Hystrix 是国外知名的视频网站 Netflix 所开源的非常流行的高 可用架构框架。Hystrix 能够完美的解决分布式系统架构中打造高可用服务面临的一系列技术难题。 Hystrix “豪猪”,具有自我保护的能力。hystrix 通过如下机制来解决雪崩效应问题。 在微服务架构中,我们把每个业务都拆成了单个服务模块,然后 当有业务需求时,服务间可互相调用,但是,由于网络原因或者其他 一些因素,有可能出现服务不可用的情况,当某个服务出现问题时, 其他服务如果继续调用这个服务,就有可能出现线程阻塞,但如果同 时有大量的请求,就会造成线程资源被用完,这样就可能会导致服务 瘫痪,由于服务间会相互调用,很容易造成蝴蝶效应导致整个系统宕 掉。因此,就有人提出来断路器来解决这一问题。

Hystrix 环境搭建

1、引入pom依赖

代码语言:javascript
复制
<!-- hystrix 断路器 -->
<dependency> 
	<groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-netflix-hystrix</artifactId> 
</dependency>

2、引入appliaction.yml配置开启 Hystrix 断路器

代码语言:javascript
复制
feign: 
 hystrix: 
   enabled: true
 #### hystrix禁止服务超时时间
hystrix: 
  command: 
    default: 
      execution: 
     	timeout: 
     	  enabled: false

3、启动入口添加注解

代码语言:javascript
复制
@EnableHystrix

4、服务降级处理(HystrixCommand [fallbackMethod(服务 降级执行)])

代码语言:javascript
复制
   @HystrixCommand(fallbackMethod = "orderToUserInfoFallback")
    @GetMapping("/getUserInfo")
    public ResponseBase orderToUserInfoHystrix() {
        System.out.println("orderToUserInfo:" + "当前线程池名称:" + Thread.currentThread().getName());
        return memberServiceFeigin.getUserInfo();
    }

    @RequestMapping("/orderToUserInfoFallback")
    public ResponseBase orderToUserInfoFallback() {
        return setResultError("系统错误!!!!");
    }
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Hystrix 环境搭建
    • 1、引入pom依赖
      • 3、启动入口添加注解
        • 4、服务降级处理(HystrixCommand [fallbackMethod(服务 降级执行)])
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档