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

Akka的容错机制,监督策略与熔断器的区别

Akka的监督策略(SupervisorStrategy)熔断器(CircuitBreaker)是两种不同的容错机制,它们在分布式系统中承担着互补但差异显著的角色。

以下是两者的核心区别:

一、设计目标差异

  1. 监督策略

    • 核心目标:维持Actor系统的自愈能力, 是 Let it crash的思想核心
    • 通过父Actor对子Actor的故障进行层级化处理,实现错误隔离状态恢复
    • 典型场景:本地Actor消息处理异常(如空指针、计算错误)
  2. 熔断器(CircuitBreaker)

    • 核心目标:防止服务雪崩效应
    • 基于调用失败率/延迟阈值触发断路,阻断故障服务调用链路
    • 典型场景:远程服务调用超时、下游服务不可用

二、触发机制对比

维度监督策略熔断器
触发条件Actor抛出特定类型异常调用失败率超过阈值(如50%/10秒)
作用范围单个Actor或子Actor树跨进程/跨服务的调用链路
状态管理父Actor维护子状态独立状态机(closed/open/half-open)

三、错误处理方式

可恢复错误
不可恢复错误
未知错误
超过阈值
超时后
监督策略
异常类型
重启子Actor
停止子Actor
向上级升级
熔断器
调用失败率
开启熔断
拒绝所有请求
半开状态探测

四、恢复机制差异

  1. 监督策略恢复

    • 重启保留邮箱消息(with preRestart/postRestart钩子)
    • 状态重置需显式处理
  2. 熔断器恢复

    • 半开状态下尝试放行少量请求
    • 成功率恢复后自动关闭熔断(需配置探测窗口期)

五、技术实现特点

  1. 监督策略特性

    • 策略类型:OneForOne/AllForOne
    • 支持自定义退避策略(BackoffSupervisor)
    • 深度集成Actor生命周期管理
  2. 熔断器特性

    • 滑动窗口统计(如10秒窗口分10个桶)
    • 支持异常比例/慢调用比例双维度熔断
    • 需配合降级策略(如返回默认值)

六、典型应用场景

  1. 监督策略适用场景

    • 数据库连接池管理(连接异常时重启连接Actor)
    • 实时数据处理管道(处理异常时重置计算节点)
  2. 熔断器适用场景

    • 微服务间HTTP调用保护
    • 第三方API接口防过载

在微服务架构中,Akka Actor处理核心业务逻辑时采用监督策略保障本地稳定性,同时在与外部服务交互的边界处部署熔断器实现跨系统保护。这种分层防御机制可同时应对本地异常和分布式故障。

在这里插入图片描述

http://www.dtcms.com/a/332908.html

相关文章:

  • 【时时三省】(C语言基础)共用体类型
  • 深度解析 DDoS 攻击:运作机制与防御体系构建​
  • 金融项目高可用分布式TCC-Transaction(开源框架)
  • 01数据结构-拓扑排序
  • Go语言实战案例:静态资源服务(CSS、JS、图片)
  • 迁移学习的常见研究领域(附有相关资料)
  • Kubernetes(2)pod的管理及优化
  • 数据结构初阶(17)排序算法——非比较排序、排序算法总结
  • LintCode第107题-单词拆分-新版
  • 国产操作系统之openEuler:根深叶茂
  • 力扣习题:基本计算器
  • 通过CANopen 配置闭环驱动器C5-E——易格斯igus
  • platform总线注册流程分析
  • CUDA 编程笔记:使用 CUDA 加速数组总和
  • 102、【OS】【Nuttx】【周边】文档构建渲染:安装 Esbonio 服务器
  • 【JavaEE】多线程 -- 死锁问题
  • linux服务器查看某个服务启动,运行的时间
  • 如何将 iPhone 应用程序传输到新 iPhone?
  • C++ rapidjson库使用示例
  • 【慕伏白】CTFHub 技能树学习笔记 -- Web 前置技能之HTTP协议
  • Vue 侦听器(watch 与 watchEffect)全解析3
  • 【ESP32】ESP32-P4 通过 SDIO 连接 ESP32-C6
  • FCC认证三星XR头显加速全球量产,微美全息AI+AR技术引领智能眼镜硬件创新
  • webgis-maps通用地图框架库(leaflet+mapbox)
  • 《探秘浏览器Web Bluetooth API设备发现流程》
  • K8S-Pod资源对象
  • 英语角的恢复重建!
  • 【入门级-算法-6、排序算法:排序的基本概念冒泡排序】
  • uniapp小程序ocr-navigator身份证拍照上传替换方案
  • Rust 入门 集合类型 (十六)