写点什么

架构的纵坐标与横坐标,你权衡好了吗?

  • 2020-04-17
  • 本文字数:2481 字

    阅读完需:约 8 分钟

架构的纵坐标与横坐标,你权衡好了吗?

在这 2 年里,虽然实现的平台时长有这样那样的问题暴露,但总体上来讲,特别是用户操作、用户体验上还是比较有特点的。


一说起 “架构”,相信很多小伙伴的脑海中都会浮现出“海量高并发”、“大促场景”、“容器化”等牛 X 的词语,有时在架构师的面试中,也会被问及“你们这多少台服务器”、“每秒 TPS 多少”、“容器化做了吗” 这样的问题。


的确,这些很重要,也充分体现了“没这点量,你还搞什么架构”的观念,可是在某些业务场景与技术策略面前,单单考虑架构纵向深度是不够的,我们还需要充分满足架构横向广度的实现

名词解释:架构的纵坐标与横坐标

首先,先用一张图来解释下“啥叫架构的纵坐标与横坐标?”



通过图中罗列的内容,相信大家已经看出,在我的理解中,所谓 架构的纵坐标 与 架构的横坐标 各代表了什么。


聊一些我们的现状


在描述现状之前,先来讲一个段子:


段子背景:某技术聚会,谈论到某某公司在实施集成测试环境中 mock 方案时,研发与测试之间产生了互相推诿的现象,最终导致效率低下的事件


其中某一段堆话:


… …


A 君:“怎么会有这样的事?他们老大是干嘛吃的,怎么不出来说话?”


B 君:“出来说了呀,研发老大与测试老大的意见还不统一呢?”


A 君:“研发老大?测试老大?你们还是按测试与运维来划分组织结构的?”


B 君:“嗯,是啊。。。”


A 君:“晕死。。你们居然还没有 F-Team 啊!?这怎么玩啊”


B 君:“说来话长啦。。至少现在还没有,打算逐步逐步调整。”


A 君:“这有啥逐步的,就你们老大一句话的事,说调不就调啦,我觉得就是你们老大怕担风险,不作为!”


B 君:“… …”


… …


段子听完了,这位 B 君同学说的似乎很有道理,可我们是否可以这么设想一下


假如他们系统的耦合度很高呢?


假如他们业务部门不同意呢?


假如他们目前找不到既懂业务而且还能 Hold 技术的 F-Team 老大呢?


假如他们当前不打算重构系统呢?


假如… …


道理人人都懂,记得之前在大智慧时期,听到过这么一段话 你绝对不是第一个看到问题的人,也绝不是第一个提出这样方案的人,为什么一直没解决呢?总有原因的,有时缺的不是方法,而是时机


好了,为了表达清晰,做了一些现状的铺垫,现在我就从 应用系统耦合结构 与 技术团队组织结构 这 2 个维度来说明

应用系统耦合结构


描述特性:


  • 产品业务线多

  • 产品业务共享性低

  • 产品业务之间的自定义组合要求越来越多

  • 业务特性带来的强监管(如环境、灾备、拆分等)

  • 资源快速满足业务实现,技术改造周期长,见效慢(‘污染’的速度比‘治理’的速度快)

技术团队组织结构


描述现状:


  • 逐步推进平台化,但各团队标准与方式各有不同

  • 平台类/中间件架构需同时满足多部门、多视角的需求

  • 流程长,决策点多,节奏慢


‘横向’架构对架构师带来的挑战


请容许我再一次把 架构 与 架构师 等同起来,立足在架构师的视角,从 3 个维度出发,来谈谈‘横向架构对架构师带来的挑战’


  • 对自身能力的挑战


*对场景符合的挑战


*对执行落地的挑战

再谈“架构规划与设计”

架构,是一个比较抽象的词语,架构师,却是一个实打实的“第一人称”


既然称为 “师”,那就有个性,有理想,有情感,有倾向性… …再加上硬技能的不同,不同团队在“架构的纵坐标与横坐标”之间的权衡将通过架构规划、架构设计等方式表达出来


基于以上说明,下面我将从 3 个方面来描述下我们在“架构的纵坐标与横坐标”之间的权衡中的问题与经历 :


我们比较喜欢


案例 1:涂涂画画一黑板,指天画地一张嘴



  • 喜欢的原因:简单,方便,画一下,说一下,大家都明白了,拍个照片微信发一下,开干了

  • 纵坐标:(可以使用)通常的场景是,纯技术与纯技术一起的沟通,人为因素较少(比如加密方式、数据分布等),很容易达成共识,漏斗效应较少

  • 横坐标:(不建议使用)通常的场景是,操作/管理人与纯技术一起的沟通,人为因素较多(比如管理界面、链路监控等),表面达成共识就算过得去,漏斗效应极大


案例 2:你说,我做,有问题我再改


喜欢的原因:你又没说,我怎么知道要做什么,先这么做做么好来,不行就改好了,万一我规划出来的东西你不要呢?


纵坐标:(可以使用)通常的场景是,纯技术自我发起的事件较多(如扩容、降级等),不用人告诉你,系统出问题,就算你再被动,也会去解决


横坐标:(不建议使用)通常的场景是,业务/需求/产品发起的事件较多(如界面、流程),要的不是说改就改的效率,是专业的用户视角方案,像挤牙膏这样,最后就变成一堆“补丁架构”了


我们有点反感


如上所说,对于 架构的横坐标 我们也推行过一些方法,但都不长久


方式 1: 又爱又恨的 “4+1”



  • 反感的原因:费时、费力、没鸟用

  • 为什么推行?:纵横向坚固,表达各种视角,清晰可见

  • 为什么废弃?:对架构师要求太高(无论是硬技能、软技能、经验等,无法推广)


方式 2: 完全不理解的 “DDD”



  • 反感的原因:费时、费力、没鸟用

  • 为什么推行?:纵横向坚固,表达各种视角,清晰可见

  • 为什么废弃?:对架构师要求太高(无论是硬技能、软技能、经验等,无法推广)


方式 3: 浪费时间的 “详细设计”



  • 反感的原因:见鬼去吧,没那么多时间,又要快又要详细,你觉得可能吗?

  • 为什么推行? :别的不说,在做之前,难道不该想的很清楚吗?拿着清晰地设计与需求交流难道不对吗?

  • 为什么废弃? :你觉得在没做之前就想的很清楚,现实吗


现在我们是这么干的


说实话,在上面一系列想法 ‘失败’ 后,平台类/中间件类的架构,在“横坐标”上让我失去平衡,没有了着力点


经过一年的不断尝试,直到 17 年 1 季度,基本在平台类/中间件类架构的“横坐标”上摸索出了一些门道:


设计阶段:按模板输出 PPT


故事开始:


Why - 痛点与现状


How - 怎么做才能解决?


故事经过:


Who - 谁用?谁能获得利益?


User - 有哪些用户视角的突破或改变?(含应用运维、系统运维、管理员、应用接入等)


当前:使用前(或前版本)的顺序图


改变:使用本版本后的顺序图


未来:最终希望达到的顺序图


故事结尾:


Cost - 几个人(人/天)?多少资源(如服务器)?


When - 什么时候上?




上线阶段:基于 WIKI 给出


  • 架构全景图(概要)

  • 架构技术栈

  • 开发者指南

  • 管理者指南

  • 环境搭建指南




本文转载自头哥侃码公众号。


原文链接:https://mp.weixin.qq.com/s/d1MMp86xPTqCxRrLcVs7NQ


2020-04-17 15:041261

评论

发布
暂无评论
发现更多内容

七牛云荣获「2024 鸿蒙生态 SDK 星河奖」

七牛云

大数据平台Bug Bash大扫除最佳实践

京东科技开发者

LlamaIndex工作流可视化的AI助手分析探索

代码忍者

API 接口 pinduoduo API

数字赋能制造:赛力斯汽车的零代码创新实践

明道云

Elasticsearch vs 向量数据库:寻找最佳混合检索方案

Zilliz

全文检索 elasticsearch 向量检索 Milvus 混合检索

探索1688商品详情API:轻松解锁商品信息的全面视角

代码忍者

API 接口 pinduoduo API

火山引擎数据飞轮最新活动:结合大模型能力,探索金融行业数智化落地新可能

字节跳动数据平台

数据飞轮

从MySQL JOIN 算法角度看如何优化SQL

京东科技开发者

GPUStack v0.4:文生图模型、语音模型、推理引擎版本管理、离线支持和部署本地模型

GPUStack

Stable Diffusion LLM Whisper Speech-to-Text Text-to-Speech

GPUStack v0.4:文生图模型、语音模型、推理引擎版本管理、离线支持和部署本地模型

SEAL安全

Stable Diffusion LLM Whisper Speech-to-Text Text-to-Speech

企业数字化转型的矛与盾

明道云

让零代码系统界面体验更优秀

明道云

制造业数字化演进历程中的创新与HAP 赋能

明道云

RFID技术在ERP系统中的集成应用

积木链小链

ERP RFID

想在 Java 八股文面试中脱颖而出?这1000 道互联网大厂 工程师面试题必不可少

Summer

Java 程序员 面试 架构师 编程开发

集团企业分级管理授权能力建设

芯盾时代

iam 权限管理系统 授权访问

OpenAI o1 模型到来后,谈谈提示词工程的未来

Baihai IDP

程序员 AI Prompt LLMs 提示词工程

信创背景下医院信息化建设的挑战与机遇

明道云

数字藏品NFT的合约开发

北京木奇移动技术有限公司

软件外包公司 音乐NFT 体育NFT

零代码赋能高等教育数字化转型的实践与思考

明道云

一个明知没啥前途也要开张的市场开张了

明道云

淘宝天猫API接口探索:商品详情与关键字搜索商品列表的实战应用

代码忍者

API 接口 pinduoduo API

收藏品NFT的开发流程

北京木奇移动技术有限公司

NFT数字藏品系统 NFT开发 软件外包公司

最新前端架构设计:中央仓库管理-基于工作空间和git-submodule实现共用和管理

京东科技开发者

更轻更省!DataSimba敏捷版直播火热预约中

奇点云

架构的纵坐标与横坐标,你权衡好了吗?_架构_头哥侃码_InfoQ精选文章