java服务降级_服务降级

java服务降级_服务降级什么是服务降级当服务器压力剧增的情况下,根据实际业务情况及流量,对一些服务和页面有策略的不处理或换种简单的方式处理,从而释放服务器资源以保证核心交易正常运作或高效运作。在官方给定的示例代码中,是这样的,通过在@HystrixCommand下面声明回退方法的名称可以实现优雅降级。也就是说当该请求发生异常时,会调用该回退方法进行返回处理。重要的是要记住,Hystrix命令和回退应该放在同一个类中,并且…

大家好,又见面了,我是你们的朋友全栈君。

什么是服务降级

当服务器压力剧增的情况下,根据实际业务情况及流量,对一些服务和页面有策略的不处理或换种简单的方式处理,从而释放服务器资源以保证核心交易正常运作或高效运作。

在官方给定的示例代码中,是这样的,通过在@HystrixCommand下面声明回退方法的名称可以实现优雅降级。也就是说当该请求发生异常时,会调用该回退方法进行返回处理。

重要的是要记住,Hystrix命令和回退应该放在同一个类中,并且具有相同的方法签名(失败的执行异常的可选参数)。

Fallback方法可以有任何访问修饰符。defaultUser在任何错误的情况下,方法将用于处理回退逻辑。如果您需要将回退方法defaultUser作为单独的Hystrix命令运行,则需要使用注释对其进行HystrixCommand注释,如下所示:

服务降级Demo

创建 Maven 项目

1、修改pom.xml文件,添加 hystrix 依赖

xsi:schemaLocation=”http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd”>

4.0.0

com.sxt

springcloud-eureka-consumer-ribbon-hystrix

0.0.1-SNAPSHOT

org.springframework.boot

spring-boot-starter-parent

1.5.13.RELEASE

UTF-8

UTF-8

1.8

org.springframework.cloud

spring-cloud-dependencies

Dalston.SR5

pom

import

org.springframework.boot

spring-boot-starter-web

org.springframework.boot

spring-boot-starter-test

test

org.springframework.cloud

spring-cloud-starter-config

org.springframework.cloud

spring-cloud-starter-eureka-server

org.springframework.cloud

spring-cloud-starter-hystrix

org.springframework.boot

spring-boot-maven-plugin

2、修改Consumer的业务方法,使用 @HystrixCommand 注解完成优雅降级

以下四种情况将触发 getFallback 调用

(1) 方法抛出非 HystrixBadRequestException 异常。

(2) 方法调用超时

(3) 熔断器开启拦截调用

(4) 线程池/队列/信号量是否跑满

3、修改启动类,在启动类中开启熔断。

4、全局配置文件

spring.application.name=eureka-consumer-ribbon-hystrix

server.port=9010

#设置服务注册中心地址,指向另一个注册中心

eureka.client.serviceUrl.defaultZone=http://user:123456@eureka1:8761/eureka/,http://user:123456@eureka2:8761/eureka/

API 和 product参考之前女巫在说谎:Feign

正常访问测试

异常访问测试

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/130600.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号