2025上半年,最新 AI实践都在这!20+ 应用案例,任听一场议题就值回票价 了解详情
写点什么

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

  • 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:041123

评论

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

在 Vue3 + Element Plus 中生成动态表格,动态修改表格,多级表头,合并单元格

蒋川

低代码 Vue3 组件 表格 Element Plus

在这些根技术里,读懂华为的“三观”

脑极体

【愚公系列】2022年06月 面向对象设计原则(三)-里氏替换原则

愚公搬代码

6月月更

跨境电商如何通过打好数据底座,实现低成本稳步增长

OceanBase 数据库

跨境电商 oceanbase

RPC的基本原理

卢卡多多

技术 RPC 6月月更

Redux之利用 distinct 属性进行性能优化

岛上码农

flutter ios 安卓开发 跨平台应用 6月月更

java面向对象之多态(向上转型和向下转型)

写代码两年半

面向对象 javase 多态 6月月更

GameFi如何破圈,AQUANEE靠真正“P2E”展现风采

股市老人

在线JSON转XML工具

入门小站

工具

控制并发线程数的Semaphore

急需上岸的小谢

6月月更

3分钟初识网络功能虚拟化NFV

穿过生命散发芬芳

6月月更 NFV

vue指令-4

小恺

6月月更

市场监管总局出手监督618电商促销节:电商促销节存在哪些诟病

石头IT视角

第三模块作业

Justin1024

Spring Data JPA 极速入门

Geek_rze78a

spring data 6月月更

Android App首页主流框架搭建

yechaoa

android kotlin 6月月更 material design

企业IT资源管理

阿泽🧸

IT资源 6月月更

数据结构与算法之时间复杂度与空间复杂度

未见花闻

6月月更

选择数字资产托管人时,要问的 6 个问题

BlockChain先知

外包学生管理系统架构文档

Asura

LabVIEW控制Arduino采集DHT11温湿度数值(进阶篇—4)

不脱发的程序猿

单片机 LabVIEW VISA Arduino Uno 采集DHT11温湿度数值

Web3的布局潜力,STI处于价值洼地

股市老人

外包管理系统架构设计

地下地上

架构实战营

关于volitile相关知识

北洋

6月月更

架构实战营模块 3 作业

Naoki

架构实战营

RPA能否创造新业态?如何优化组织结构?如何助力疫情中的企业?

王吉伟频道

人工智能 RPA 机器人流程自动化 机器人开发 爱死机

linux去掉空行的几种方法

入门小站

Linux

在线摩斯密码在线翻译转换工具

入门小站

工具

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