请教利用fegin进行远程访问设置Hystrix熔断器不生效

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请教利用fegin进行远程访问设置Hystrix熔断器不生效相关的知识,希望对你有一定的参考价值。

本人的环境
1.基于spring boot 2.0.4的 spring cloud(Finchley.SR1)
2.分为eureka,merber,order。order通过Fegin的方式调用merber的一个方法
困惑
远程调用 利用注解@HystrixCommand的方式熔断器可以起作用,

技术分享图片

但是利用这种方式就不行
技术分享图片
技术分享图片

代码展示:
pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.msop.order</groupId>
    <artifactId>order</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>

    <name>order</name>
    <description>Demo project for Spring Boot</description>

 <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.0.4.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.8</java.version>
        <spring-cloud.version>Finchley.SR1</spring-cloud.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-hystrix</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-openfeign</artifactId>
        </dependency>

    </dependencies>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>${spring-cloud.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>

application.properties

spring.application.name=order
server.port=3001
server.tomcat.max-threads=20
eureka.client.service-url.defaultZone=http://localhost:1001/eureka/

fegin.hystrix.enabled=true
hystrix.command.default.exection.isolation.thread.timeoutInMilliseconds=4000
ribbon.ReadTimeOut=4000
ribbon.ConnectTimeOut=4000

OrderApplication启动文件
技术分享图片
Fegin接口文件
技术分享图片
Fegin fallback类
技术分享图片

控制文件
技术分享图片

以上是关于请教利用fegin进行远程访问设置Hystrix熔断器不生效的主要内容,如果未能解决你的问题,请参考以下文章

Hystrix使用及其配置详解

Hystrix使用及其配置详解

springCloud - Eureka

SpringCloud技术专题打开Fegin之RPC技术的开端,你会使用原生态Fegin(上)

深入浅出SpringCloud原理及实战「Netflix系列之Fegin」打开Fegin之RPC技术的开端,你会使用原生态的Fegin吗?(上)

springCloud使用fegin远程调用报错Query map can only be present once.