【架构艺术】变更元信息分析框架设计

在变更风险防控领域,对于线上变更元信息的分析是非常重要的一部分,这是因为,只有理解了变更元信息,结合自主定制的变更规范,才能够知道具体的变更风险在哪里。不同的变更风险防御能力,实现的思路可能是不同的,因此很有可能出现对于一次变更,在信息的理解上有所不一致,从而导致检测结果不够置信。基于此,我们需要一个独立的变更元信息分析框架,把所有的变更元信息分析过程和结果都归到一个独立的系统当中。这样,从变更风险防御能力的视角,变更分析的结果都是共享的、全局的、一致的,从而能最大限度提升变更风险防御能力可挖掘的潜力。

本文,就简单聊一下,变更元信息分析框架设计的一些重点。

首先第一个问题是,变更元信息的来源是什么?简而言之,如果要获取到变更元信息,一个变更平台需要在发起变更、变更期间和变更结束之后,都上报和当次变更相关的元信息给到分析框架。如果把一个企业内部所有的变更平台都考虑到一起,那么变更上报次数量级是非常大的,因此一个比较好的方法是,通过一个变更事件MQ去承载变更元信息的上报和消费,从而起到均衡性能的作用。在这样的基础上,变更元信息分析工作,就可以是异步的,基于变更事件驱动的模式。

其次问题是,分析的对象是什么?可以简单划分成三类。第一类是变更的对象本身,比如我们需要了解到,某个服务的上下游链路如何,重要度如何,是否涉及资损风险,这些都是服务本身的属性,并且也是在变更过程中需要考虑的;第二类是变更工单过程,这个是核心的变更对象,我们需要判断某次变更是否存在风险,就需要对一次变更工单进行分析,比如是否在高峰期发布,是否通过管控赦免,变更的需求背景等等,都是变更工单维度的分析信息;第三类是变更阶段,这是在变更工单维度上,向下拆解出来的一类分析对象,描述变更过程每一个阶段的实际情况,尤其是小批次灰度阶段的变更元信息,是变更风险防御需要着重去关注的。

变更事件上报的信息,一般是变更工单或者变更阶段维度的,而变更服务实体这个维度,在事件内容里,不一定会有标准化的体现。因此,如果要将变更事件和变更元信息分析结果做映射,就需要标准化三类变更分析的对象的数据结构和元信息提取逻辑。

然后一个问题是,分析结果会怎么出来?这里有多种可能性,一种可能性是框架本身在接收到变更事件后,把事件dispatch给符合事件过滤条件的变更元信息分析器;另一种可能性是,分析器离线(定时)运行,上传结果给到变更分析框架。为了兼容这两种可能性,我们就需要标准化分析结果的存储接口,以及分析对象的生成逻辑。尤其是,有了后者以后,不论是受控被调度的分析器,还是离线分析器,都能通过某种方式,将分析结果映射到具体的分析对象,这样就满足了兼容的需要。

最后一个问题是,如何支持分析器的运作?不论是离线还是受控的分析器,有可能实质也是一个变更事件消费者,是一个多节点运行的服务,这样就会产生分析缓存数据共享的问题。因此,分析框架在研发的过程中,也需要考虑建设一些工具或者分析器框架,去提升分析器的开发效率。就和游戏引擎一样,通过工具插件,为游戏开发赋能。

以上便是变更元信息分析框架设计的一些重点思路和考量。解决了以上问题,一个简约的变更元信息分析框架则呼之欲出。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/799717.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CSS - 你实现过宽高自适应的正方形吗

难度 难度级别:中高级及以上 提问概率:80% 宽高自适应的需求并不少见,尤其是在当今流行的大屏系统开发中更是随处可见,很显然已经超越了我们日常将div写死100px这样的范畴,那么如何实现一个宽高自适应的正方形呢?这里提出两种实现方案。…

面试题Spring、SpringMVC、SpringBoot、SpringCloud

每日面试题学习 目录 前言 一、Spring是什么? 二、SpringMVC是什么? 三、SpringBoot是什么? 四、SpringCloud是什么? 五、什么是SSM? 面试常问 1.Spring和SpringMVC的区别 2.SpringMVC跟SpringBoot的区别 3.SpringBoot…

自动化脚本代码appium+pytest+adb

pytest多线程与多设备并发appium​​​​​​​ 使用adb获取应用的内存和CPU使用情况 import pytest import subprocess# 测试用例:检查应用的内存使用情况 def test_memory_usage():package_name com.example.myappmemory_info subprocess.check_output([adb, …

景区云旅游/视频慢直播方案设计与平台搭建

一、行业背景 经文化和旅游部数据中心测算,今年清明节假期3天全国国内旅游出游1.19亿人次,按可比口径较2019年同期增长11.5%;国内游客出游花费539.5亿元,较2019年同期增长12.7%。踏青赏花和户外徒步成为假期的热门出游主题。随着…

VSCode SSH 连接 Could not establish connection to “XXX“: spawn UNKNOWN.

1. 确认问题: 拉取vscode终端:快捷键 ctrl(数字1旁边那个) 输入:ssh -V 2. 解决方法 2.1 找到本地SSH 位置 默认本地路径: C:\Windows\System32\OpenSSH 2.2 找到要修改的位置 进入 ssh 插件的设置(可以通过在插…

VIM支持C/C++/Verilog/SystemVerilog配置并支持Win/Linux环境的配置

作为一个芯片公司打杂人口,往往需要一个皮实耐打上天入地的编辑器… 一、先附上github路径,方便取走 git clone gitgithub.com:qqqw4549/vim_config_c_verilog.git 二、效果展示 支持ctrl]函数/模块跳转,支持cscope字串全局代码搜索 依赖&am…

PostgreSQL的|| 和::

在 PostgreSQL 中,|| 是字符串连接运算符,它将两个字符串连接在一起。例如,如果我们有两个字符串 ‘Hello’ 和 ‘World’,则可以使用以下语句将它们连接在一起: SELECT Hello || World;这将返回 ‘HelloWorld’。 另…

The C programming language (second edition,KR) exercise(CHAPTER 2)

E x c e r c i s e 2 − 1 Excercise\quad 2-1 Excercise2−1&#xff1a;输出结果如图1和图2所示&#xff0c;这道练习题需要文章1和文章2的知识。 #include <stdio.h> #include <limits.h>float getFloat(char sign, unsigned char exp, unsigned mantissa); do…

数字人直播系统是什么?AI数字人直播间搭建方法来了!

无人直播的时代&#xff0c;短视频和直播平台正在风口&#xff0c;各条赛道内也早已人满为患&#xff0c;很多线下商家都想参与其中&#xff0c;因为时间、地方、设备等限制久久不能去实行起来。所以&#xff0c;数字人直播新模式成为了线下商家的救星&#xff0c;线下商家方法…

Java后端开发中Java 8,JVM和JDK的关系

Java后端开发中Java 8&#xff0c;JVM和JDK的关系 一、技术介绍1、Java 82、JDK&#xff08;Java Development Kit&#xff09;3、JVM&#xff08;Java Virtual Machine&#xff09; 二、相互关系三、总结 一、技术介绍 1、Java 8 Java8&#xff08;也就是Java1.8&#xff09…

go语言实现无头单向链表

什么是无头单向链表 无头单向链表是一种线性数据结构&#xff0c;它的每个元素都是一个节点&#xff0c;每个节点都有一个指向下一个节点的指针。"无头"意味着这个链表没有一个特殊的头节点&#xff0c;链表的第一个节点就是链表的头。 优点&#xff1a; 动态大小&…

分巧克力(蓝桥杯,二分,acwing)

题目描述&#xff1a; 儿童节那天有 K 位小朋友到小明家做客。 小明拿出了珍藏的巧克力招待小朋友们。 小明一共有 N 块巧克力&#xff0c;其中第 i 块是 HiWi的方格组成的长方形。 为了公平起见&#xff0c;小明需要从这 N 块巧克力中切出 K 块巧克力分给小朋友们。 切出…

企业如何做好数字化?

企业进行数字化转型是一个复杂且系统性的过程&#xff0c;涉及战略规划、技术应用、组织变革、文化建设等多个方面。以下步骤和建议可以帮助企业做好数字化转型&#xff1a; 1、明确转型愿景和目标&#xff1a;确定企业的数字化愿景&#xff0c;明确转型的长期目标和短期里程碑…

全面备份:自动化MySQL服务器上所有数据库的备份策略

这篇博客提供了一个批量备份MySQL数据库的Shell脚本&#xff0c;并包含了详细的注释和使用说明。这个脚本能够自动化地备份服务器上所有的数据库&#xff0c;排除系统数据库&#xff0c;并在备份完成后压缩和清理旧文件。 脚本内容及注释 下面是脚本的内容&#xff0c;其中包…

烤羊肉串引来的思考--命令模式

1.1 吃羊肉串&#xff01; 烧烤摊旁边等着拿肉串的人七嘴八舌地叫开了。场面有些混乱&#xff0c;由于人实在太多&#xff0c;烤羊肉串的老板已经分不清谁是谁&#xff0c;造成分发错误&#xff0c;收钱错误&#xff0c;烤肉质量不过关等。 外面打游击烤羊肉串和这种开门店做烤…

基于Springboot4S店车辆管理系统

采用技术 基于Springboot4S店车辆管理系统的设计与实现~ 开发语言&#xff1a;Java 数据库&#xff1a;MySQL 技术&#xff1a;SpringBootMyBatis 工具&#xff1a;IDEA/Ecilpse、Navicat、Maven 页面展示效果 管理员功能 首页 销售员管理 维修员管理 客户管理 供应…

服务器挖矿病毒查杀排查手册

生产紧急问题可私信博主 背景 好几个朋友都找过我说自己的服务或者网站异常的慢&#xff0c;甚至于无法访问 分析 拿到服务器权限登录服务器&#xff0c;执行top命令&#xff0c;发现存在100%cpu占用进程&#xff0c;cpu idle为0 看到此时基本很明确服务器存在挖矿程序 查…

Altair®(澳汰尔)Inspire™ Extrude Metal 专为进行高效金属挤压设计

所有挤压公司都希望消除成本高昂的原型设计&#xff0c;缩短重新设计周期。现在&#xff0c;各种规模的企业组织均可获得高等物理特性仿真技术。Inspire Extrude Metal 易于掌握&#xff0c;让所有工程师或设计师都能通过仿真&#xff0c;更好地了解任何特定金属合金的型材特性…

【问题处理】银河麒麟操作系统实例分享,银河麒麟高级服务器操作系统mellanox 网卡驱动编译

1.Mellanox 网卡源码驱动下载链接&#xff1a; https://www.mellanox.com/downloads/ofed/MLNX_EN-5.7-1.0.2.0/MLNX_EN_SRC-5.7-1.0.2.0.tgz 2.系统及内核版本如下截图&#xff1a; 3.未升级前 mellanox 网卡驱动版本如下&#xff1a; 4.解压 “MLNX_EN_SRC-5.7-1.0.2.0.tg…

2020 年 12 月青少年软编等考 C 语言一级真题解析

目录 T1. 字符三角形思路分析 T2. 计算 (a b) (c - b) 的值T3. 晶晶赴约会思路分析 T4. 角谷猜想思路分析 T5. 求满足条件的 3 位数思路分析 T1. 字符三角形 给定一个字符&#xff0c;用它构造一个底边长 5 5 5 个字符&#xff0c;高 3 3 3 个字符的等腰字符三角形。 时间…