8.Hystrix-Feign配置服务降级

项目中用到Feign调用服务端方法并做服务降级处理

1.application.properties配置:

feign.hystrix.enabled=true

2.pom:


<!--feign--><dependency>
  <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency><!--hystrix-->
<dependency>
  <groupId>org.springframework.cloud</groupId>
  <artifactId>spring-cloud-starter-netflix-hystrix</artifactId>
</dependency>
<!--eureka-client-->
<dependency>
  <groupId>org.springframework.cloud</groupId>
   <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>

3.客户端调message-server服务的sendMessage方法时:

package com.odao.consumer.service.message;

import com.odao.consumer.entity.MessageEntity;
import com.odao.consumer.service.message.impl.MessageServiceImpl;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

@FeignClient(value = "message-server",fallback = MessageServiceImpl.class)
public interface MessageService {

    @RequestMapping(value = "sendMessage",method = RequestMethod.POST)
    String sendMessage(MessageEntity messageEntity);

}
4.MessageServiceImpl:
package com.odao.consumer.service.message.impl;

import com.odao.consumer.entity.MessageEntity;
import com.odao.consumer.service.message.MessageService;
import com.odao.plat.response.OResponse;
import com.odao.plat.response.RespStatus;
import org.springframework.stereotype.Service;

@Service
public class MessageServiceImpl implements MessageService {

    @Override
    public String sendMessage(MessageEntity messageEntity) {
        return "服务器开小差啦";
    }

}

原文地址:https://www.cnblogs.com/wangfajun/p/9295801.html

时间: 2024-11-09 16:33:09

8.Hystrix-Feign配置服务降级的相关文章

Hystrix支付测服务降级fallback

1.pom文件 <groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-hystrix</artifactId> 2.YML文件 server: port: 8001spring: application: name: cloud-provider-hystrix-payment #服务名 eureka: client: #表示是否将自己注册进E

Hystrix服务降级

在微服务架构中,我们将系统拆分成了一个个的服务单元,各单元应用间通过服务注册与订阅的方式互相依赖.由于每个单元都在不同的进程中运行,依赖通过远程调用的方式执行,这样就有可能因为网络原因或是依赖服务自身问题出现调用故障或延迟,而这些问题会直接导致调用方的对外服务也出现延迟,若此时调用方的请求不断增加,最后就会出现因等待出现故障的依赖方响应而形成任务积压,线程资源无法释放,最终导致自身服务的瘫痪,进一步甚至出现故障的蔓延最终导致整个系统的瘫痪.如果这样的架构存在如此严重的隐患,那么相较传统架构就更加

Spring Cloud构建微服务架构-Hystrix服务降级

在微服务架构中,我们将系统拆分成了一个个的服务单元,各单元应用间通过服务注册与订阅的方式互相依赖.由于每个单元都在不同的进程中运行,依赖通过远程调用的方式执行,这样就有可能因为网络原因或是依赖服务自身问题出现调用故障或延迟,而这些问题会直接导致调用方的对外服务也出现延迟,若此时调用方的请求不断增加,最后就会出现因等待出现故障的依赖方响应而形成任务积压,线程资源无法释放,最终导致自身服务的瘫痪,进一步甚至出现故障的蔓延最终导致整个系统的瘫痪.如果这样的架构存在如此严重的隐患,那么相较传统架构就更加

六、服务容错保护(Hystrix服务降级)

1.简介 在微服务架构中,我们将系统拆分成立一个个的服务单元,各单元应用间通过服务注册与订阅的方式互相依赖.由于每个单元都在不同的进程间运行,依赖通过远程调用的方式执行,这样就可以因为网络原因或者依赖服务自身问题出现调用故障或延迟,若此时调用方的请求不断增加,最后就会出现因等待出现故障的依赖方响应而形成任务的积压,线程资源无法释放,最终导致自身服务的瘫痪,进一步甚至出现故障的蔓延导致整个系统的瘫痪.如果这样的架构存在如此严重的隐患,那么相较于传统的架构就会更加的不稳定.为了解决这样的问题,就产生

Hystrix断路器配置属性解析

HystrixCommand 配置方式 我们的配置都是基于 HystrixCommand 的,我们通过在方法上添加 @HystrixCommand 注解并配置注解的参数来实现配置,但有的时候一个类里面会有多个 Hystrix 方法,每个方法都是类似配置的话会冗余很多代码,这时候我们可以在类上使用 @DefaultProperties 注解来给整个类的 Hystrix 方法设置一个默认值. 配置项 下面是 HystrixCommand 支持的参数,除了 commandKey/observableE

dubbo服务降级(1)

1. 在 dubbo 管理控制台配置服务降级 上图的配置含义是:consumer 调用 com.zhang.HelloService 的方法时,直接返回 null,不发起远程调用. 实际操作是:在 zk 的 /dubbo/com.zhang.HelloService/configurators 节点中添加了 override. override://0.0.0.0/com.zhang.HelloService?category=configurators&dynamic=false&gro

SpringCloud系列七:Hystrix 熔断机制(Hystrix基本配置、服务降级、HystrixDashboard服务监控、Turbine聚合监控)

1.概念:Hystrix 熔断机制 2.具体内容 所谓的熔断机制和日常生活中见到电路保险丝是非常相似的,当出现了问题之后,保险丝会自动烧断,以保护我们的电器, 那么如果换到了程序之中呢? 当现在服务的提供方出现了问题之后整个的程序将出现错误的信息显示,而这个时候如果不想出现这样的错误信息,而希望替换为一个错误时的内容. 一个服务挂了后续的服务跟着不能用了,这就是雪崩效应 对于熔断技术的实现需要考虑以下几种情况: · 出现错误之后可以 fallback 错误的处理信息: · 如果要结合 Feign

【Hystrix】实现服务隔离和降级

一.背景 1.1 服务熔断 1.2 服务降级 1.3 服务隔离 1.4 总结 二.使用Hystrix实现服务隔离和降级 2.1 Hytrix 简介 2.2 线程池方式 2.3 信号量 三.项目搭建 3.1 订单工程 1. 引入Maven依赖 2. Service 3.Controller 4.工具类 3.2 会员工程 四.项目源码 一.背景 在今天,基于SOA的架构已经大行其道.伴随着架构的SOA化,相关联的服务熔断.降级.限流等思想,也在各种技术讲座中频繁出现. 伴随着业务复杂性的提高,系统的

SpringCloud实战-Hystrix请求熔断与服务降级

我们知道大量请求会阻塞在Tomcat服务器上,影响其它整个服务.在复杂的分布式架构的应用程序有很多的依赖,都会不可避免地在某些时候失败.高并发的依赖失败时如果没有隔离措施,当前应用服务就有被拖垮的风险.Spring Cloud Netflix Hystrix就是隔离措施的一种实现,可以设置在某种超时或者失败情形下断开依赖调用或者返回指定逻辑,从而提高分布式系统的稳定性. 生活中举个例子,如电力过载保护器,当电流过大的的时候,出问题,过载器会自动断开,从而保护电器不受烧坏.因此Hystrix请求熔