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

【架构艺术】变更风险防控架构嵌入决策降噪模块的方法

在先前的文章中,我们聊到了一个变更观测任务可以通过什么样的方式对不同的变更防控能力做统一调度,达到优越的变更风险拦截效果。但是在实战当中,变更观测任务集成了很多能力,即便风险拦截率很高,但不同能力效果也有差距,因此会有可能出现误报,导致变更观测结论不准确,影响研发发布效率。为此,一套成熟的变更观测系统,是需要嵌入一个决策降噪模块,通过干预变更防控拦截结果,达到在风险召回不劣化的同时,提升准确率,让结果更加置信。

因此,今天笔者决定结合自己的工作经验,简单聊一下变更风险防控架构的宏观体系当中,决策降噪模块应当怎样接入比较合适。需要说明的是,本文不涉及具体降噪的实现,包括算法的许多部分,主要是从后端工程架构角度,聊一下怎样的架构设计,能够让变更观测任务和降噪任务完美配合起来。

首先,咱们需要从产品角度看下降噪最终要呈现什么效果。简单而言,降噪的对象,一块是对于线上告警的降噪,比如critical的告警,假使被降噪模块认为和当次变更无关,那么就可以忽略,所以检测报告里面透出的,可能就是报警的最终结果以及降噪理由。另一块就是对于单个检测能力的结论做干预,这是由于单个能力的告警被降噪,连带做了最终结果的决策。

因此,从最终效果反推,决策降噪模块的切入方面,结果决策作为统一的、低延迟的后处理模块,而告警降噪则作为单独的、容忍高延迟的计算模块比较合适。一个变更观测任务会产出多个观测能力的多个风险告警,这些风险告警在产出后需要经由结果决策模块做后处理,结果决策在后处理的时候,根据所有观测能力产出的告警,查询对应降噪模块是否有对应的降噪结果。有的话,就对风险告警和观测能力结论做干预,以提升观测整体的准确率。

之后,结果决策模块,做的简单的话,可以通过线性或者决策树的方式对不同业务/能力/告警的降噪优先级做配置,这样就能够实现对不同业务场景的定制化降噪,复杂的话可以支持平台化低代码的降噪策略配置,这样业务可以自主做一些策略接入。告警降噪实现模块的话,从不影响正常变更观测任务的调度考虑,可以做成异步降噪。也就是说,降噪模块能够实时感知变更观测任务的上下文,且当某变更观测能力产出新的告警时候,立即对新的告警数据做分析,发起一个分钟级的任务,判断对单条告警以及变更观测结论是否都做降级。同时,降噪模块需要给决策模块提供一个接口,以供获取当前观测任务具备时效性的降噪结果集,这样从决策模块角度,获取的数据也是置信的,而降噪数据的时效性则统一由外挂的降噪模块做保障。

最后,如果要评估某个降噪能力的效果,降噪能力的灰度放量、实时打点,以及产品方面告警有效性打标、降噪结论度量看板等能力也是不可少的。拥有这些技术基建,才可以让变更防控降噪模块发挥更多价值。


文章转载自:

http://4UOL1dck.Lkgqb.cn
http://S7jIGhWB.Lkgqb.cn
http://KcqU32Va.Lkgqb.cn
http://wwwfiWtX.Lkgqb.cn
http://OrYYSBZa.Lkgqb.cn
http://mwZTQqLy.Lkgqb.cn
http://Dgm67GYu.Lkgqb.cn
http://zlHN1K5h.Lkgqb.cn
http://shfT3aog.Lkgqb.cn
http://v31CeMx2.Lkgqb.cn
http://i3qlpOiZ.Lkgqb.cn
http://5FNv2ufg.Lkgqb.cn
http://jUW3FD3h.Lkgqb.cn
http://TscVKTuy.Lkgqb.cn
http://f0m2m2n1.Lkgqb.cn
http://8HgRztyQ.Lkgqb.cn
http://BaYg8w8b.Lkgqb.cn
http://ArEYMIzv.Lkgqb.cn
http://pxYOMmLL.Lkgqb.cn
http://Zq4exmZ3.Lkgqb.cn
http://4yyG64lY.Lkgqb.cn
http://9CoqwLhD.Lkgqb.cn
http://ByUwgQTe.Lkgqb.cn
http://bylcPWls.Lkgqb.cn
http://MBFIOYJt.Lkgqb.cn
http://jmIS7N8p.Lkgqb.cn
http://P9sVNxwD.Lkgqb.cn
http://Fn1o2898.Lkgqb.cn
http://6g9O4U1v.Lkgqb.cn
http://H2q4AiMR.Lkgqb.cn
http://www.dtcms.com/a/370155.html

相关文章:

  • ElmentUI之DateTimePicker 日期时间选择器
  • RabbitMQ 入门与 Go 语言实践
  • [Upscayl图像增强] Electron主进程命令 | 进程间通信IPC
  • 80(HTTP默认端口)和8080端口(备用HTTP端口)区别
  • AI模型测评平台工程化实战十二讲(第一讲:从手工测试到系统化的觉醒)
  • FreeMarker快速入门指南
  • python的数据结构
  • Spark 中spark.implicits._ 中的 toDF和DataFrame 类本身的 toDF 方法
  • 基于Spark的中文文本情感分析系统研究
  • 《用 asyncio 构建异步任务队列:Python 并发编程的实战与思考》
  • Python+DRVT 从外部调用 Revit:批量创建梁(2)
  • 数据库原理及应用_数据库管理和保护_第5章数据库的安全性_理论部分
  • 开源OpenHarmony润开鸿HH-SCDAYU800A开发板开箱体验
  • 第27节:3D数据可视化与大规模地形渲染
  • 《云原生故障诊疗指南:从假活到配置漂移的根治方案》
  • illustrator插件大全 免费插件介绍 Ai设计插件集合 (5)
  • Kubernetes (k8s)
  • 交叉编译器介绍
  • 2025最新超详细FreeRTOS入门教程:第二章 FreeRTOS任务创建
  • Webpack热更新(HMR)底层原理详解
  • repo 学习教程
  • 54.【.NET8 实战--孢子记账--从单体到微服务--转向微服务】--新增功能--实现手机邮箱注册
  • C/C++内存管理详解:从基础到精通的完整指南
  • 鸿蒙Next开发指南:UIContext接口解析与全屏拉起元服务实战
  • 系统编程day05-进程间通信-信号
  • OpenHarmony之有源NFC-connected_nfc_tag模块详解
  • 吴恩达机器学习合集
  • java基础学习(五):对象中的封装、继承和多态
  • 神马 M66S+ 282T矿机参数详解:SHA-256算法与Hydro冷却技术
  • AI 生成式艺术重塑动漫角色创作:从技术逻辑到多元可能性(一)