Skip to main content

moregeek program

spring cloud circuit breaker_spring认证的博客-多极客编程

1. 使用文档Spring Cloud Breaker 项目包含 Resilience4J 和 Spring Retry 的实现。 Spring Cloud Breaker中实现的API存在于Spring Cloud Commons中。使用文档 这些 API 位于Spring Cloud Commons 文档中。1.1. 配置弹性4J断路器1.1.1. 启动器Resilience4J 实现有两个启

Read More

浅谈电力监控在供配电管理中的应用分析_wx636d99e14640b的博客-多极客编程

罗轩志安科瑞电气股份有限公司 上海嘉定 201801摘要:为了进一步提升供配电设计的质量水平,要整合系统应用要点,充分发挥电力监控系统的应用价值,提升资源利用率,减少运行中的经济损失和运营成本。分析供配电设计应用电力监控系统的具体作用,从组态软件功能设计、网络方案设计、现场智能监控设计 3 个方面对具体设计内容展开讨论,最后结合案例分析应用方案。  关键词:电力监控系统;供配电设计;Power L

Read More

#yyds干货盘点#Hystrix Dashboard-多极客编程

1、简介Hystrix Dashboard是一个通过收集actuator端点提供的Hystrix流数据,并将其图表化的客户端。如果需要通过图表化的界面查看被断路器保护的方法相关调用信息、或者实时监控这些被断路器保护的应用的健康情况,就可以使用Hystrix Dashboard。2、正文2.1 启动Hystrix Dashboard创建一个Spring Boot项目添加Hystrix Dashbo

Read More

#yyds干货盘点#Hystrix-多极客编程

1、简介在微服务中,服务与服务之间的调用经常出现两个不确定性因素:网络延迟服务异常延迟在微服务中是一个非常重要的性能指标,随着服务的增加,调用链越来越复杂,此时低延迟往往是微服务系统架构中首要目标;高网络延迟可能会拖垮整个微服务,这是不允出现的。此外服务内部可能会发生未知异常,或者未捕获的异常,这时异常如果没有得到正确的处理,将会沿着调用链往上抛出,这对上传调用链来说也是致命的,因为往往这个时候上

Read More

Java 项目中使用 Resilience4j 框架实现隔断机制/断路器-多极客编程

到目前为止,在本系列中,我们已经了解了 Resilience4j 及其 Retry, RateLimiter, TimeLimiter, 和 Bulkhead 模块。在本文中,我们将探索 CircuitBreaker 模块。我们将了解何时以及如何使用它,并查看一些示例。 代码示例 本文附有 GitHub 上的工作代码示例。 什么是 Resilience4j? 请参阅上一篇文章中的描述,快速了解 R

Read More

SpringCloud升级之路2020.0.x版-40. spock 单元测试封装的 WebClient(下)-多极客编程

本系列代码地址:​​https://github.com/JoJoTec/spring-cloud-parent​​我们继续上一节,继续使用 spock 测试我们自己封装的 WebClient测试针对 readTimeout 重试针对响应超时,我们需要验证重试仅针对可以重试的方法(包括 GET 方法以及配置的可重试方法),针对不可重试的方法没有重试。我们可以通过 spock 单元测试中,检查对于负

Read More

SpringCloud升级之路2020.0.x版-40. spock 单元测试封装的 WebClie-多极客编程

本系列代码地址:​​https://github.com/JoJoTec/spring-cloud-parent​​我们来测试下前面封装好的 WebClient,这里开始,我们使用 spock 编写 groovy 单元测试,这种编写出来的单元测试,代码更加简洁,同时更加灵活,我们在接下来的单元测试代码中就能看出来。编写基于 spock 的 spring-boot context 测试我们加入前面设

Read More

SpringCloud升级之路2020.0.x版-39. 改造 resilience4j 粘合-多极客编程

本系列代码地址:​​https://github.com/JoJoTec/spring-cloud-parent​​要想实现我们上一节中提到的:需要在重试以及断路中加一些日志,便于日后的优化需要定义重试的 Exception,并且与断路器相结合,将非 2xx 的响应码也封装成特定的异常需要在断路器相关的 Operator 中增加类似于 FeignClient 中的负载均衡的数据更新,使得负载均衡更

Read More

SpringCloud升级之路2020.0.x版-38. 实现自定义 WebClient-多极客编程

本系列代码地址:​​https://github.com/JoJoTec/spring-cloud-parent​​实现 WeClient 的 NamedContextFactory我们要实现的是不同微服务自动配置装载不同的 WebClient Bean,这样就可以通过 NamedContextFactory 实现。我们先来编写下实现这个 NamedContextFactory 整个的加载流程的代

Read More

SpringCloud升级之路2020.0.x版-37. 实现异步的客户端封装配置管理的意义与设计-多极客编程

本系列代码地址:​​https://github.com/JoJoTec/spring-cloud-parent​​为何需要封装异步 HTTP 客户端 WebClient对于同步的请求,我们使用 spring-cloud-openfeign 封装的 FeignClient,并做了额外的定制。对于异步的请求,使用的是异步 Http 客户端即 WebClient。WebClient 使用也比较简单,举

Read More

SpringCloud升级之路2020.0.x版-36. 验证断路器正确性-多极客编程

本系列代码地址:https://github.com/JoJoTec/spring-cloud-parent 上一节我们通过单元测试验证了线程隔离的正确性,这一节我们来验证我们断路器的正确性,主要包括: 验证配置正确加载:即我们在 Spring 配置(例如 application.yml)中的加入的 Resilience4j 的配置被正确加载应用了。 验证断路器是基于服务和方法打开的,也就是

Read More

SpringCloud升级之路2020.0.x版-34.验证重试配置正确性(3)-多极客编程

本系列代码地址:https://github.com/JoJoTec/spring-cloud-parent 我们继续上一节针对我们的重试进行测试 验证针对可重试的方法响应超时异常重试正确 我们可以通过 httpbin.org 的 /delay/响应时间秒 来实现请求响应超时。例如 /delay/3 就会延迟三秒后返回。这个接口也是可以接受任何类型的 HTTP 请求方法。 我们先来指定关于

Read More

SpringCloud升级之路2020.0.x版-34.验证重试配置正确性(1)-多极客编程

本系列代码地址:https://github.com/JoJoTec/spring-cloud-parent 在前面一节,我们利用 resilience4j 粘合了 OpenFeign 实现了断路器、重试以及线程隔离,并使用了新的负载均衡算法优化了业务激增时的负载均衡算法表现。这一节,我们开始编写单元测试验证这些功能的正确性,以便于日后升级依赖,修改的时候能保证正确性。同时,通过单元测试,我

Read More

SpringCloud升级之路2020.0.x版-34.验证重试配置正确性(2)-多极客编程

本系列代码地址:https://github.com/JoJoTec/spring-cloud-parent 我们继续上一节针对我们的重试进行测试 验证针对限流器异常的重试正确 通过系列前面的源码分析,我们知道 spring-cloud-openfeign 的 FeignClient 其实是懒加载的。所以我们实现的断路器也是懒加载的,需要先调用,之后才会初始化线程隔离。所以这里如果我们要模拟

Read More

SpringCloud升级之路2020.0.x版-33. 实现重试、断路器以及线程隔离源码-多极客编程

本系列代码地址:https://github.com/JoJoTec/spring-cloud-parent 在前面两节,我们梳理了实现 Feign 断路器以及线程隔离的思路,并说明了如何优化目前的负载均衡算法。但是如何更新负载均衡的数据缓存,以及实现重试、断路器以及线程隔离的源码还没提,这一节我们会详细分析。 首先,从 spring.factories 引入,增加我们自定义 OpenFe

Read More

SpringCloud升级之路2020.0.x版-31. FeignClient 实现断路器以及线程-多极客编程

本系列代码地址:https://github.com/JoJoTec/spring-cloud-parent 在前面一节,我们实现了 FeignClient 粘合 resilience4j 的 Retry 实现重试。细心的读者可能会问,为何在这里的实现,不把断路器和线程限流一起加上呢: @Bean public FeignDecorators.Builder defaultBuilder(

Read More