
hystrix
一只渣渣
个人记录一些自己的工作所得,和学习中所遇见的问题以及浏览到的知识,如果有小伙伴看到我记录的文章欢迎指正出不足的地方,让我们一起进步,做一只悲催的程序猿(*^▽^*)
展开
-
springcloud之Hystrix初识篇—熔断简述
熔断的主要感觉就像是电表的保险闸,正常情况下它是关闭的,当发现家里用电量过大超出负荷他就会自动打开开关停止供电,已保证家里不出现电力事故。Hystrix的熔断也就是像电表保险闸类似的断路器,不过比我们的保险闸更加高级,设置了三种状态。断路器会实时记录请求的健康状态,并基于一段时间内请求的健康状态来改变断路器的状态。关闭:正常情况下断路器的状态。开启:当某请求在某段时间内请求错误的次...原创 2020-03-29 23:06:04 · 265 阅读 · 0 评论 -
springcloud之Hystrix初识篇—RestTemplate与Feign使用对比
RestTemplate:添加相关注解参数即可,使用简单方便 熔断节点易控制,方便后续基于业务作出相应调整 异常捕获简单,同页面下添加对应方法即可 请求更贴近httpclient,使用更有熟悉感Feign:编写方式优雅,基于面向接口的风格,但是开发起来较为繁琐 yml需要添加配置启动hystrix组件 需要创建对应类来执行fallback方法 捕获异常信息和不捕获异常实现的接...原创 2020-03-29 18:53:01 · 1401 阅读 · 0 评论 -
springcloud之Hystrix初识篇—结合Feign禁用降级方法
1、创建一个配置类定义忽略降级方法(提供者异常时直接返回异常信息,不走降级方法)。/** * Created by py * 2020/3/26 */public class FeignDisableHystrixConfiguration { /** * singleton 表示在spring容器中的单例,通过spring容器获得该bean时总是返回唯一的实例...原创 2020-03-29 18:35:31 · 532 阅读 · 1 评论 -
springcloud之Hystrix初识篇—结合Feign获取请求异常
1、创建一个fallbackfactory(捕获异常)类/** * FallbackFactory<T>:FeignTest1Service就是用于feign请求的接口 * Created by py * 2020/3/26 */@Componentpublic class FeignTest1ServiceFallBackFactory implements Fal...原创 2020-03-29 18:26:58 · 353 阅读 · 0 评论 -
springcloud之Hystrix初识篇—结合Feign使用简例
1、添加pom依赖(使用Hoxton.SR3版本feign中没有自动依赖Hystrix,需要我们手动添加)<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netfl...原创 2020-03-29 18:14:48 · 207 阅读 · 0 评论 -
springcloud之Hystrix初识篇—HystrixCommand配置参数
HystrixCommandPropertiesstatic final Integer default_metricsRollingStatisticalWindow = 10000; private static final Integer default_metricsRollingStatisticalWindowBuckets = 10; private stati...原创 2020-03-28 23:15:07 · 534 阅读 · 0 评论 -
springcloud之Hystrix初识篇—结合ResTeamplate小述HystrixCommand基本使用
忽略异常:通过@HystrixCommand的参数配置我们可以忽略异常,不走降级方法正常返回异常信息。自定义异常:package com.example.springcloud.testdemo.exception;/** * Created by py * 2020/3/25 */public class HystrixIgnoreException extends Runti...原创 2020-03-28 23:11:47 · 231 阅读 · 0 评论 -
springcloud之Hystrix初识篇—结合ResTeamplate小述
【PS:观看该篇文章前请先参考上一篇文章】捕获熔断异常:降级方法中可以添加一个异常参数,用于抓取正式调用请求异常的信息。/** * fallbackMethod:降级方法【PS:该方法最多只能添加下面这2个参数,或只接收请求方法的参数】 * @param body 请求方法的参数 * @param throwable 异常信息 * @return */public Strin...原创 2020-03-28 21:59:17 · 158 阅读 · 0 评论 -
springcloud之Hystrix初识篇—结合ResTeamplate使用简例
1、添加pom依赖。<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-hystrix</artifactId> <version>2.2.1.RELEASE...原创 2020-03-28 20:42:46 · 221 阅读 · 0 评论 -
springcloud之Hystrix初识篇—概念
基于分布式中因某个微服务不可用而导致的服务雪崩等问题,为防止异常传递进而导致的异常传播等问题,需要实现当某个微服务发生异常时不因为该服务异常而影响依赖该服务的其他微服务正常运行,springcloud通过使用hystrix组件来解决。思考:服务异常了如何保证其他服务不受影响?场景:服务提供者异常时调用者因等待提供者返回信息而一直同步阻塞着,消耗消费者服务资源,随着调用的越多消耗越大,直...原创 2020-03-28 17:35:34 · 150 阅读 · 0 评论 -
springcloud之Hystrix初识篇—背景
分布式项目通过业务拆分将项目整体拆分成一个个单独的微服务,通过微服务之间的相互调用来实现整体的功能。由于每个微服务都是一个独立运行的进程,某个微服务异常就导致依赖它的业务模块都不可用例:金额录入服务异常。结果:客户充值、客户付款、商家收款等功能都无法正常使用,从而引申出客户下单失败(系统无法正常记录金额信息,故而订单无法正式生产【网站下一个订单,30分钟无法付款成功,订单自动取消】...原创 2020-03-28 00:36:22 · 188 阅读 · 0 评论