【架构艺术】平衡技术架构设计和预期的产品形态
近期笔者因为工作原因,开始启动team内部部分技术项目的重构。在事情启动的过程中,内部对于这件事情的定性和投入有一些争论,但最终还是敲定了下来。其中部分争论点主要在于产品形态,因为事情涉及到跨部门合作,所以产品形态怎么符合双方的利益是比较重要的。在这个前提下,然后才是技术设计上面,怎么能够迎合长久合作的需要。
因此,今天笔者就简单聊一下,怎么去做到让技术架构设计和预期产品形态能够做到有效平衡。
首先,因为产品形态决定技术结果,所以需要经过讨论去确定核心的产品效果。笔者所在的team距离具体业务比较近,而面临的跨部门合作场景主要是和infra部门合作,那么这里面的分歧点就是,infra部门对于业务需求提倡开放性,而距离具体业务比较近的部门则更加倾向于打造相对封闭而有竞争力的产品。为了解决这个分歧,最终讨论产品效果是让infra提供架子,笔者team的能力作为核心组件接入,这样就能够达到双方对于最终产品效果上的共识。当然,不同企业不同部门情况不统一,但这个事情还是要确定的。
其次,由产品形态反推技术设计,必然涉及到架构演进的部分,从现有的技术架构出发,怎么演进到最终态,花费多少时间多少人力,如果要拿技术/业务结果的话有哪些阶段性产出,不同阶段之间架构演进会有什么样的变化,每个阶段投入产出比怎么样,这些都是作为架构师需要去考虑的。在笔者的case里面,笔者所要重构的是一套变更风险观测基建,所以架构演进主要采用分模块演进的方式,第一阶段面向观测能力,提供统一的技术接入和调度协议;第二阶段面向观测调度,提供类流水线+低代码的编排方案;第三阶段将整套调度编排做持续迭代,适配各类业务变更观测场景,并完善数据度量分析等周边功能。这样,这套变更风险观测基建,就可以兼顾短期和长期的落地需要,逐步成为公司内部标准化的方案。
最后,在实际执行技术架构实现的过程中,也需要保持足够的主动性,推动研发和非研发的事情都得到解决。虽然下面的话有点阿里味,但道理是没有错,那就是因为相信,所以看见。以这样的基础,跨部门合作也会更加有凝聚力,大家也更愿意互相信任,让整个事情做到成功。当然,悲观的来讲,唯一不变的是变化,也许一些宏大的技术构思,最终也会因为种种原因无法落地,但这并不重要。重要的是,你能够用技术掌控人,解决人的问题,这才是作为一名技术架构师存在的价值。
相关文章:
【架构艺术】平衡技术架构设计和预期的产品形态
近期笔者因为工作原因,开始启动team内部部分技术项目的重构。在事情启动的过程中,内部对于这件事情的定性和投入有一些争论,但最终还是敲定了下来。其中部分争论点主要在于产品形态,因为事情涉及到跨部门合作,所以产品…...

电力系统时间同步系统
电力系统中,电压、电流、功率变化等特征量测量都是时间相关函数[1],统一精准的时间源对于电网安全稳定运行至关重要,因此,电力系统运行规程[2]中明确要求继电保护装置、自动化装置、安全稳定控制系统、能量管理系统和生产信息管理…...

Vue使用toFixed保留两位小数的三种写法
第一种:直接写在js里面,这是最简单的 val.toFixed(2)第二种:在ElementUi表格中使用 第三种:在取值符号中使用 {{}} 定义一个方法 towNumber(val) { return val.toFixed(2) } 使用 {{ towNumber(row.equiV…...
华为云【Astro zero】如何做“设备编辑”页面
目录 一、整体原理概述(逻辑图+原理) 1. 页面组件组装(用户交互界面) 2. 数据模型(数据临时存储) 3. 页面事件(逻辑交互) 二、详细操作步骤(按功能模块分) ✅【1】页面创建与结构组装 ✅【2】定义自定义模型与字段(临时数据绑定) ✅【3】定义服务模型(与后…...

Arch安装botw-save-state
devkitPro https://blog.csdn.net/qq_39942341/article/details/148387077?spm1001.2014.3001.5501 cargo https://blog.csdn.net/qq_39942341/article/details/148387783?spm1001.2014.3001.5501 megaton https://blog.csdn.net/qq_39942341/article/details/148388164?spm…...

电脑为什么换个ip就上不了网了
在日常使用电脑上网时,很多人可能遇到过这样的问题:当IP地址发生变化后,突然就无法连接网络了。当电脑更换IP地址后无法上网,这一现象可能由多种因素导致,涉及网络配置、硬件限制或运营商策略等层面。以下是系统性分析…...
NULL与空字符串的区别:数据库专家详解
NULL与空字符串的区别:数据库专家详解 1. NULL的概念解析 1.1 NULL的定义 在数据库系统中,NULL是一个特殊标记,表示"未知"或"不存在"的值。它不是任何数据类型的实例,而是表示缺失值的标记。 go专栏&#…...

github 2FA双重认证丢失解决
文章目录 前言一. 凭借ssh 解锁步骤1.1 要求输入设备码1.2.进入二重验证界面1.3.开始2FA恢复1.4.选择使用ssh验证 二.预防措施2.1 云盘上传git_recover_codes.txt2.2 开启多源FA认证2.2.1 大陆无法使用手机验证码 三.参考资料 前言 场景:没有意识到github recovery …...

linux驱动 - 5: simple usb device驱动
参考第2节, 准备好编译环境并实现hello.ko: linux驱动 - 2: helloworld.ko_linux 驱动开发 hello world ko-CSDN博客 下面在hello模块的基础上, 添加代码, 实现一个usb设备驱动的最小骨架. #include <linux/init.h> #include <linux/module.h> #include <lin…...
OpenCV CUDA模块直方图计算------在 GPU 上计算输入图像的直方图(histogram)函数histEven()
操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 该函数用于在 GPU 上计算输入图像的直方图(histogram)。它将像素值区间均匀划分为若干个 bin(桶)…...
QT/c++航空返修数据智能分析系统
简介 1、区分普通用户和管理员 2、界面精美 3、功能丰富 4、使用cppjieba分词分析数据 5、支持数据导入导出 6、echarts展示图表 效果展示 演示链接 源码获取 int main(){ //非白嫖 printf("📡:%S","joyfelic"); return 0; }...
Spring Security架构中过滤器的实现
Spring Security过滤器基础 过滤器链工作原理 在Spring Security架构中,过滤器链(Filter Chain)是安全机制的核心实现方式。当HTTP请求到达时,会依次通过一系列具有明确顺序的过滤器。例如认证过滤器会拦截请求并将认证职责委托给授权管理器。若需要在认证前执行特定逻辑…...
Playwright Python API 测试:从入门到实践
Playwright Python API 测试:从入门到实践 在现代软件开发中,API 测试是确保应用程序后端功能正常运行的关键环节。Playwright 是一个强大的自动化测试工具,支持多种编程语言,其中包括 Python。通过 Playwright,我们可…...

ETL脚本节点使用的方式
随着大数据时代的到来,企业对数据处理的需求日益增长,ETL 作为数据整合的关键技术,逐渐走进我们的视野。本文将为您揭秘 ETL 脚本节点的使用方式,助您轻松驾驭数据处理新境界。 一、ETL脚本的优势 1.提高效率:ETL 脚…...

PH热榜 | 2025-06-02
1. Circuit Tracer 标语:Anthropic的开放工具:让我们了解AI是如何思考的 介绍:Anthropic的开源工具Circuit Tracer可以帮助研究人员理解大型语言模型(LLMs),它通过将内部计算可视化为归因图的方式展现相关…...
Domain Adaptation in Vision-Language Models (2023–2025): A Comprehensive Review
Domain Adaptation in Vision-Language Models (2023–2025): A Comprehensive Review Overview Recent research (2023–2025) has increasingly focused on adapting large Vision-Language Models (VLMs) to new domains and tasks with minimal supervision. A core tren…...
容器化革命:告别传统Dockerfile,拥抱现代构建最佳实践
前言 还记得我第一次自信满满地写Dockerfile时,感觉自己像个DevOps天才👑。但很快我就发现,管理这些文件变成了噩梦——安全问题、意外的构建问题、臃肿的镜像层出不穷。如果你一直在手动编写Dockerfile,让我告诉你:有更好的方法! 本文将揭示传统Dockerfile编写方式的…...

: influxdb + grafana+JMeter
influxdb和Grafana 不安装在被测机器上,可以统一放到一台机器上面 1、influxdb:一种时序数据库, 可以永久性保存数据【除非手动清除和数据库坏了】 2、Grafana:grafana是一款用go编写的开源应用,用于大规模指标数据的可…...
Vue拖拽组件:vue-draggable-plus
vue-draggable-plus 学习文档 简介 vue-draggable-plus 是一个基于 Sortablejs 的 Vue 拖拽排序组件,专为 Vue 3 (>v3) 或 Vue >2.7 设计。该组件解决了官方 Sortablejs Vue 组件与 Vue 3 严重脱节的问题。 核心特性 🎯 多种使用方式ÿ…...

TDengine 基于 TDgpt 的 AI 应用实战
基于 TDgpt 时序数据智能体的风力发电预测 作者: derekchen Demo 数据集准备 我们使用公开的UTSD数据集里面的某风场发电数据,作为预测算法的数据来源,基于历史数据预测未来一天内的每15分钟的发电量。原始数据集的采集频次为4秒ÿ…...

RocketMQ 消息发送核心源码解析:DefaultMQProducerImpl.send () 方法深度剖析
引言 在分布式系统中,消息队列是实现异步通信、服务解耦和流量削峰的关键组件。Apache RocketMQ 作为一款高性能、高可靠的消息中间件,被广泛应用于各类互联网场景。其中,消息发送是最基础也是最重要的功能之一。本文将深入剖析 RocketMQ 中…...

BiliNote部署实践
开源地址: https://github.com/JefferyHcool/BiliNote 🚀 快速开始 1. 克隆仓库 git clone https://github.com/JefferyHcool/BiliNote.git cd BiliNote mv .env.example .env2. 启动后端(FastAPI) cd backend pip insta…...
deepseek问答记录:请讲解一下transformers.HfArgumentParser()
1. 核心概念: transformers.HfArgumentParser 是 Hugging Face Transformers 库提供的一个命令行参数解析器。它基于 Python 内置的 argparse 模块,但进行了专门增强,目的是为了更简单、更优雅地管理机器学习(尤其是 NLP 任务&am…...

bismark OT CTOT OB CTOB 以及mapping后的bam文件中的XG,XR列的含义
首先,OT,OB,CTOT,CTOB都是描述测序reads的,而不是描述参考基因组的。 bisul-fate建库会将DNA双链文库中非甲基化的C转化成U。转化结束后,被转化的U和互补链的G并不配对。此时正链(,…...
new语法
在C中,new 是用于动态内存分配的操作符,允许在运行时请求内存空间。以下是 new 的完整语法和用法说明: 1. 基本语法 1.1 单一对象分配 type* pointer new type(initializer);作用:分配一个 type 类型的对象,并返回…...
npm、yarn幽灵依赖问题
很好!我们来专门讲讲**幽灵依赖(Phantom Dependency)**是什么,以及为什么 pnpm 对这个问题非常严格。 👻 什么是幽灵依赖? 幽灵依赖(Phantom Dependency),指的是&#x…...

Android Native 之 adbd进程分析
目录 1、adbd守护进程 2、adbd权限降级 3、adbd命令解析 1)adb shell 2)adb root 3)adb reboot 4、案例 1)案例之实现不需要执行adb root命令自动具有root权限 2)案例之实现不需要RSA认证直接能够使用adb she…...

CAN通讯协议中各种参数解析
1.各种参数缩写 2.多帧传输时间参数解析 - Sender(左侧) 指的是 多帧数据的发送者,也就是: ECU(被测系统 / 响应方) - Receiver(右侧) 指的是 多帧数据的接收者,也就是…...

网络攻防技术三:网络脆弱性分析
文章目录 一、影响安全的因素二、计算机网络三、网络体系结构脆弱性1、因特网容易被攻击的特性 四、典型网络协议安全性分析(重要)1、IPv42、RIP(UDP)3、ICMP(UDP)4、ARP5、OSPF(IP数据报)6、BGP(TCP)7、UDP8、TCP9、DNS(UDP)10、…...

(八)登录认证与学生写作画像
本次将赵昱琨同学之前完成的学生写作画像与智能学习路径规划的后端与目前已有的后端框架进行整合。同时为了实现学生写作画像与智能学习路径规划,需要在之前简易的登录系统上进行重构,所以本次大规模重写了登录模块,同时发现很多过去冗余的代…...