使用Hystrix熔断(下)

在一个分布式系统里,一个服务依赖多个服务,可能存在某个服务调用失败,

        比如超时、异常等,如何能够保证在一个依赖出问题的情况下,不会导致整体服务失败,

 

copy orderserverfeign项目,并更名为orderserverfeignhystrix

        在项目右键修改名称

        pom中修改artifactId为

        pom中修改name为

        修改包名称

        修改各种类名称增加hystrix

        在运行左侧的edit application中修改名称

        @RequestMapping("/api/v1/orderfeign")修改为@RequestMapping("/api/v1/orderfeignhystrix")

2、增加依赖到pom文件

     <dependency>

<groupId>org.springframework.cloud</groupId>

<artifactId>spring-cloud-starter-netflix-hystrix</artifactId>

</dependency>

3、启动类增加注解

        @EnableCircuitBreaker

        

        关注注解@SpringCloudApplication,包含以下注解

            @Target({ElementType.TYPE})

            @Retention(RetentionPolicy.RUNTIME)

            @Documented

            @Inherited

            @SpringBootApplication

            @EnableDiscoveryClient

            @EnableCircuitBreaker

4、ProductFeignHystrixService这个类下面要修改注解

        @FeignClient(name="PRODUCT-SERVICE")修改为

        @FeignClient(name="PRODUCT-SERVICE", fallback = ProductOrderHystrixFallback.class) 可以在这个类中找到各种需要熔断和降级的方法

5、增加一个fallback包,在其下增加一个类ProductOrderHystrixFallback,用于公共方法的熔断和降级,并继承productclient,加注解@Component,alt+insert 重写类findById

        @Override

        public String fingById(int id) {

            return null;

        }

 

至此两种熔断的方法使用上了

1、controller对应的类中增加@HystrixCommand(fallbackMethod = "saveOrderFail")

2、单独增加一个包,对所有服务类可以增加一个熔断或者降级后处理的方法

    增加一个fallback包,在其下增加一个类ProductOrderHystrixFallback,并继承productclient,加注解@Component,alt+insert 重写类findById

Hystrix(下),使用公共降级类的更多相关文章

  1. Util应用程序框架公共操作类(九):Lambda表达式扩展

    上一篇对Lambda表达式公共操作类进行了一些增强,本篇使用扩展方法对Lambda表达式进行扩展. 修改Util项目的Extensions.Expression.cs文件,代码如下. using Sy ...

  2. Util应用程序框架公共操作类(八):Lambda表达式公共操作类(二)

    前面介绍了查询的基础扩展,下面准备给大家介绍一些有用的查询封装手法,比如对日期范围查询,数值范围查询的封装等,为了支持这些功能,需要增强公共操作类. Lambda表达式公共操作类,我在前面已经简单介绍 ...

  3. Util应用程序框架公共操作类(七):Lambda表达式公共操作类

    前一篇扩展了两个常用验证方法,本文将封装两个Lambda表达式操作,用来为下一篇的查询扩展服务. Lambda表达式是一种简洁的匿名函数语法,可以用它将方法作为委托参数传递.在Linq中,大量使用La ...

  4. Util应用程序框架公共操作类(六):验证扩展

    前面介绍了仓储的基本操作,下面准备开始扩展查询,在扩展查询之前,首先要增加两个公共操作类,一个是经常要用到的验证方法,另一个是Lambda表达式的操作类. 很多时候,我们会判断一个对象是否为null, ...

  5. Util应用程序框架公共操作类(五):异常公共操作类

    任何系统都需要处理错误,本文介绍的异常公共操作类,用于对业务上的错误进行简单支持. 对于刚刚接触.Net的新手,碰到错误的时候,一般喜欢通过返回bool值的方式指示是否执行成功. public boo ...

  6. Util应用程序框架公共操作类(四):验证公共操作类

    为了能够验证领域实体,需要一个验证公共操作类来提供支持.由于我将使用企业库(Enterprise Library)的验证组件来完成这项任务,所以本文也将演示对第三方框架的封装要点. .Net提供了一个 ...

  7. Util应用程序框架公共操作类(三):数据类型转换公共操作类(扩展篇)

    上一篇以TDD方式介绍了数据类型转换公共操作类的开发,并提供了单元测试和实现代码,本文将演示通过扩展方法来增强公共操作类,以便调用时更加简化. 下面以字符串转换为List<Guid>为例进 ...

  8. Util应用程序框架公共操作类(二):数据类型转换公共操作类(源码篇)

    上一篇介绍了数据类型转换的一些情况,可以看出,如果不进行封装,有可能导致比较混乱的代码.本文通过TDD方式把数据类型转换公共操作类开发出来,并提供源码下载. 我们在 应用程序框架实战十一:创建VS解决 ...

  9. Util应用程序框架公共操作类(一):数据类型转换公共操作类(介绍篇)

    本系列文章将介绍一些对初学者有帮助的辅助类,这些辅助类本身并没有什么稀奇之处,如何能发现需要封装它们可能更加重要,所谓授之以鱼不如授之以渔,掌握封装公共操作类的技巧才是关键,我会详细说明创建这些类的动 ...

随机推荐

  1. ERROR: node with name "rabbit" already running on "localhost"

    rabbitmqctl start_app启动没有这个问题

  2. 【转载】Hadoop集群各部分常用端口号

    hadoop集群的各部分一般都会使用到多个端口,有些是daemon之间进行交互之用,有些是用于RPC访问以及HTTP访问.而随着hadoop周边组件的增多,完全记不住哪个端口对应哪个应用,特收集记录如 ...

  3. 在取变量名的时候,千万不要用new

    这样子是会报错的

  4. NetCore与 NET Framework 不同的地方

    .net core 2.0没有了request.inputstream但是可以用request.body替代dataset 没有查看视图了控制台程序默认生成是dll 文件 public string ...

  5. Apache Flink - 数据流容错机制

    Apache Flink提供了一种容错机制,可以持续恢复数据流应用程序的状态.该机制确保即使出现故障,程序的状态最终也会反映来自数据流的每条记录(只有一次). 从容错和消息处理的语义上(at leas ...

  6. [大数据相关] Hive中的全排序:order by,sort by, distribute by

    写mapreduce程序时,如果reduce个数>1,想要实现全排序需要控制好map的输出,详见Hadoop简单实现全排序. 现在学了hive,写sql大家都很熟悉,如果一个order by解决 ...

  7. CTR预估之LR与GBDT融合

    转载自:http://www.cbdio.com/BigData/2015-08/27/content_3750170.htm 1.背景 CTR预估,广告点击率(Click-Through Rate ...

  8. python 将数据写入excel

    摘要链接: python第三方库——xlrd和xlwt操作Excel文件学习 :http://blog.csdn.net/wangkai_123456/article/details/50457284 ...

  9. keras Model 1 入门篇

    1 入门 2 多个输入和输出 3 共享层 最近在学习keras,它有一些实现好的特征提取的模型:resNet.vgg.而且是带权重的.用来做特诊提取比较方便 首先要知道keras有两种定义模型的方式: ...

  10. Android插件化(五):OpenAtlasの四大组件的Hack

    Android插件化(五):OpenAtlasの四大组件的Hack   转 https://www.300168.com/yidong/show-2776.html 核心提示:引言到目前为止,我们已经 ...