Hystrix熔断-Rest、Feign两种方式

Hystrix使用(RestTemplate)

1、引入hystrix依赖 
	<dependency>
		<groupId>org.springframework.cloud</groupId>
		<artifactId>spring-cloud-starter-netflix-hystrix</artifactId>
	</dependency>
2、启动类:@EnableCircuitBreaker(@EnableHystrix均可)
3、@HystrixCommand(fallbackMethod = "sendFail")
4、fallback的请求参数和 返回参数 要和原方法一致。

commandProperties

@HystrixProperty(name = "fallback.enabled",value = "false")  //默认true

execution.isolation.strategy:隔离策略,默认为Thread

HystrixCommandProperties【统计相关、熔断器相关、信号量相关、其他】

Hystrix使用(Feign)

feign自带Hystrix,但是默认没有打开,首先打开Hystrix。(从Spring Cloud Dalston开始,feign的Hystrix 默认关闭,如果要用feign,必须开启)

feign:
  hystrix:
    enabled: true 
@FeignClient(name = "service-name",fallback = SmsClientFallback.class)
public class ClientFallback implements ServerClient 
@EnableFeignClients
@EnableCircuitBreaker

捕获熔断异常信息

restTemplate:
在fallback方法参数加上Throwable,获取throwable
Feign:
1、@FeignClient(name = “service-sms”,fallbackFactory = SmsClientFallbackFactory.class)
2、实现FallbackFactory

忽略异常

不走备用逻辑
1、继承HystrixBadRequestException
2、属性配置 @HystrixCommand(fallbackMethod = “sendFail”,
ignoreExceptions = {HystrixIgnoreException.class})

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1. Ribbon:Ribbon是Netflix开源的一个负载均衡组件,可以在客户端进行负载均衡,实现服务间的调用。Ribbon可以根据不同的负载均衡策略(如轮询、随机、加权等)来分配请求到不同的服务实例。此外,Ribbon还提供了超时、重试等功能,以保证服务的可靠性。 2. FeignFeign是Netflix开源的一个声明式、模板化的HTTP客户端组件,可以简化服务间的调用。Feign基于接口定义,使用注解来声明请求的URL、请求方法、请求头等信息,可以通过动态代理生成调用接口的实现类。Feign还提供了负载均衡、熔断器等功能,可以提高服务的可用性和稳定性。 3. HystrixHystrix是Netflix开源的一个熔断器组件,可以防止服务雪崩效应。Hystrix可以监控服务调用的状态和响应时间,当服务出现故障或响应时间过长时,Hystrix会立即熔断该服务的调用,避免该服务对整个系统的影响。同时,Hystrix还提供了降级、缓存、线程池隔离等功能,可以提高服务的可用性和性能。 4. Zuul:Zuul是Netflix开源的一个网关组件,可以作为服务的统一入口,处理服务间的路由、负载均衡、认证、安全等问题。Zuul可以通过过滤器来实现请求的校验、转发、日志记录等功能,同时还提供了动态路由、熔断器等功能,可以提高服务的可用性和稳定性。 5. Eureka:Eureka是Netflix开源的一个服务注册中心,可以实现服务的自动注册和发现。Eureka可以将服务实例的信息注册到注册中心,同时提供了心跳检测、负载均衡等功能,可以保证服务的可用性和稳定性。同时,Eureka还提供了REST API、Web界面等工具,方便开发人员进行服务的管理和监控。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值