当前位置: 首页 > news >正文

服务断路器_Resilience4j的断路器

image-20220214164428346

断路器(CircuitBreaker)相对于前面几个熔断机制更复杂,CircuitBreaker通常存在三种状态(CLOSE、OPEN、HALF_OPEN),并通过一个时间或数量窗口来记录当前的请求成功率或慢速率,从而根据这些指标来作出正确的容错响应。

image-20220214164213454

6种状态:

  • CLOSED: 关闭状态,代表正常情况下的状态,允许所有请求通过,能通过状态转换为OPEN
  • HALF_OPEN: 半开状态,即允许一部分请求通过,能通过状态转换为CLOSED和OPEN
  • OPEN: 熔断状态,即不允许请求通过,能通过状态转为为HALF_OPEN
  • DISABLED: 禁用状态,即允许所有请求通过,出现失败率达到给定的阈值也不会熔断,不会发生状态转换。
  • METRICS_ONLY: 和DISABLED状态一样,也允许所有请求通过不会发生熔断,但是会记录失败率等信息,不会发生状态转换。
  • FORCED_OPEN: 与DISABLED状态正好相反,启用CircuitBreaker,但是不允许任何请求通过,不会发生状态转换。

主要介绍3种状态

  • closed -> open : 关闭状态到熔断状态, 当失败的调用率(比如超时、异常等)默认50%,达到一定的阈值服务转为open状态,在open状态下,所有的请求都被拦截。
  • open-> half_open: 当经过一定的时间后,CircubitBreaker中默认为60s服务调用者允许一定的请求到达服务提供者。
  • half_open -> open: 当half_open状态的调用失败率超过给定的阈值,转为open状态
  • half_open -> closed: 失败率低于给定的阈值则默认转换为closed状态
http://www.lryc.cn/news/176459.html

相关文章:

  • 微信小程序学习笔记3.0
  • nginx 反向代理 负载均衡 动静分离
  • Codeanalysis(tca)后端二次开发环境搭建
  • JS前端树形Tree数据结构使用
  • Automation Anywhere推出新的生成式AI自动化平台,加速提高企业生产力
  • 电缆隧道在线监测系统:提升电力设施安全与效率的关键
  • Java BigDecimal 详解
  • 简述信息论与采样定理
  • 网络安全之网站常见的攻击方式
  • iOS Swift 拍照识别数字(Recognizing Text in Images)
  • 数学建模:智能优化算法及其python实现
  • monkeyrunner环境搭建和初步用法
  • 2024华为校招面试真题汇总及其解答(一)
  • css调整字体间距 以及让倾斜字体
  • 工具篇 | Gradle入门与使用指南 - 附Github仓库地址
  • 使用 Python 函数callable和isinstance的意义
  • Netty场景及其原理
  • Java接口和接口继承
  • 2023 年解锁网络安全即服务
  • python基于轻量级卷积神经网络模型GhostNet开发构建养殖场景下生猪行为识别系统
  • Selenium自动化测试 —— 通过cookie绕过验证码的操作!
  • 链表(单链表、双链表)
  • 面试题08.05.递归算法
  • 分布式IT监控系统
  • Redis 是什么?
  • 本地源制作
  • 树莓派(Linux系统通用)交叉编译(环境搭建、简单使用)
  • uniapp - 微信小程序实现腾讯地图位置标点展示,将指定地点进行标记选点并以一个图片图标展示出来(详细示例源码,一键复制开箱即用)
  • 网络安全--IDS--入侵检测
  • js实现数组去重方式(12种方法)