《架构漫谈》摘要

一、“Architecture is like teenage sex,everybody talks about it,nobody really knows what is it.”

     “Architecture is both the process and the product of planning,designing,and constructing buildings and other physical structures”

    把一个整体切分成不同的部分,由不同角色来完成这些分工,并通过建立不同部分互相沟通的机制,是的这些部分能够有机的结合为一个整体,并完成这个整体所需要的所有活动,这就是架构。

    架构产生的动力(原因),当系统规模达到一定程度:

    1)必须有人执行的工作。(无需人工介入,也意味着不需要改造,也就不需要架构了)

    2)每个人的能力有限。(分工细致,所能专注的事情有限,需要协同)

    3)每个人的时间有限。(系统工程需要有限时间内完成)

    4)人对目标系统有了更高的要求。(提升,是推动架构变革的源动力)

    5)目标系统的复杂性使得需要多人完成。

 

    架构就是:

    1)根据要解决的问题,对目标系统的边界进行界定。(解决有限问题,而非无限延展的问题)

    2)并对目标系统按某个原则的进行切分。切分的原则,要便于不同的角色,对切分出来的部分,并行或者串行的开展工作,一般并行才能减少时间。并对这些切分出来的部分,设立沟通机制。

    3)根据3,使得这些部分之间能够进行有机的联系,合并组装成为一个整体,完成目标系统的所有工作。

 

二、架构实际上解决的是人的问题,而概念是人认知这个世界的基础,自然改变的认识就非常的重要。

    根据架构的定义,要做架构所首先必须具备的能力就是能够正确的认识概念,能够发现改变背后所代表的问题,今儿才能够认识目标领域所需要解决的问题,这样才能够为做好架构打好基础。

    做好架构首先需要做的就是是识别出需要解决的问题。一般来说,如果把真正的问题找到,那么问题就已经解决80%了,这个能力基本上就能决定架构师的水平。

 

    找到问题的主体,是做架构的首要问题,我们要解决的问题,一定都是人的问题。更进一步,架构师要解决的,基本都是别人的问题,不是自己的问题。我们一定要明白,任何找上架构师的问题,绝对都不是真正的问题。为什么呢?因为如果是真正问题的话,提问题过来的人肯定都能够自己解决了,不需要找架构师。架构师都要有这个自觉:发现问题永远都比解决问题来的更加重要。(解决方案,不是问题的主体;比如用户需要一把锤子,这是解决方案,不是问题主体,问题的主体是“用户需要锤子解决什么问题?”)

 

三、架构切分

    切分的本质就是利益的调整;切分的几个原则:

    1)必须在连续时间内发生的一个活动,不能切分。比如孕妇怀孕,必须要10月怀胎,不能切分成10个人一个月完成。

    2)切分出来的部分的负责人,对这个部分的权利和义务必须是对等的。如果权利和义务不对等的话,会伤害每个人个体的利益,分出来执行的效率会比没有分出来的还要低,实际上也损害了整体的利益,这违背了提升整体利益的初衷。(利益相关者)

    3)切分出来的部分,不应该超出一个自然人的负载。

    4)切分是内部活动,内部无论怎么切分,对整个系统的外部应该是透明的。如果因为切分导致整个系统解决的问题发生了变化,那么这个变化不属于架构的活动。

    所有的架构分拆,都应该是形成树状的结果,不应该变成有向图,更不应该是无向图。很多人谈架构,必谈分层,但是基本上都没有意识到,是因为把一个整体分拆为一棵树,因为有了树,才有层。

 

    实际上切分的过程就是建模的过程,每次对大问题的切分都会生成很多小问题,每个小问题就形成了不同的概念。

 

    任何架构调整都会涉及到组织架构,千万不可轻视。同样,如果对于stakeholder的利益分拆不够透彻,也会导致架构无法落地,因为没有人愿意去损害自己的利益。一旦强制去执行,人心就开始溃散。这个也不一定是坏事,只要满足原则2)就能够很好的建立一个新的次序和新的利益关系,保持组织的良性发展,长久来看是对所有人的利益都是有益的,虽然短期内有对某些即得利益者会有损害。

 

四、架构师的前提条件:

    如果一个人在工作中,只是致力于完成自己的工作,已做好自己的工作为主要目标,那么最多只能成为一个工匠,无法成为一名架构师。因为这个过程解决的还是自己的问题。当我们所做的工作处于社会分工的一环,需要帮助别人解决问题,并且按时解决别人的问题成为我们自己的问题的时候,我们就有了时间压力,潜意识里就会自然而然的有一种对时间的恐惧。这个恐惧在潜意识里会想方设法推动我们采用各种手段,以便及时的完成工作。

    要成为架构师,必须要超越这个恐惧才能看清楚,我们要解决的是别人的问题,不是自己完成工作的问题。因为仅仅完成了自己工作的问题,也并不一定就解决了别人的问题。

    “如果问题不解决,究竟谁会有利益损失?如果问题解决了,究竟谁会有收益,谁的收益最大?”回答了这两个问题,我们就能找到“问题”的主体。

 

    架构师必须是一个组织的领导人,有权利调动这个组织的架构,才能够更好的发挥架构师的作用,更好的把利益的调整落到实处。所以很多公司设立了很多架构师职位,但是并不具备调动组织架构的权利,那么这个架构师的职位一定是形同虚设。架构师只能够通过建立某种流程来形式架构师的权利,比如强制架构review,反而会造成很多内部不必要的冲突,最终都会导致这些流程流于形式,得不偿失。相信很多人都已经经历过这些,但似乎很少有人回去探讨这是为什么。

    所有架构的核心就是组织架构。或者也可以这么说,一个合格的组织领导人,一定必须是一个合格的架构师。

 

五、技术与架构、业务之间的关系

    技术是为了解决业务的问题而产生的,没有业务,技术就没有了存在的前提。

    1)在解决一个业务问题的前提下,更高效,更低成本的技术,会淘汰低效、高成本的技术。这事人类利益诉求所决定的。

    2)一般刚开始解决根本问题的技术效率比较低的,只是把不可能变成了可能。然后就会有提高效率的需求出现,要求改进这个技术。

 

    不同的技术,通过树状结构,组合在一起,形成一个完善的架构解决方案,共同完成业务的目标,这就是技术、业务和架构的关系。

 

架构漫谈(王概凯架构系列文章整理) 整理了王概凯的关于架构的系列文章; 文章列表如下: 架构漫谈(一):什么是架构? 架构漫谈(二):认识概念是理解架构的基础 架构漫谈(三):如何做好架构之识别问题 架构漫谈(四):如何做好架构之架构切分 架构漫谈(五):什么是软件 架构漫谈(六):软件架构到底是要解决什么问题? 架构漫谈(七):不要空设架构师这个职位,给他实权 架构漫谈(八):从架构的角度看如何写好代码 架构漫谈(九):理清技术、业务和架构的关系 立即下载

相关推荐

架构漫谈PDF

架构就是解决人的问题

IK到底在什么时候被用上:聊聊反向动力学的实战场景

拆流水线的时候,第四关是IK求解。我当时说它"因为反着算所以贵",还举了脚踩斜坡、手握枪把两个例子。评论里有人问,IK具体都用在哪些地方?是不是只有脚和手?什么时候该上,什么时候没必要?这问题挺实在的。IK这东西,你不用它角色照样能动,但用好了能让画面质感上一个台阶;用不好或者滥用,性能白白搭进去还看不出效果。这篇就把IK都在哪些场景派上用场捋一遍,顺便说说每个场景值不值得开。

本博客聚焦游戏开发技巧、创业实战心得及大学热门课程干货。这里既有技术深度,也有思维广度,无论你是开发者、创业者还是高校学子,都能在这里找到适合自己的成长之路! 1272

架构师-架构漫谈

Informal-Discussion-on-Architecture 架构师-架构漫谈

架构漫谈(1~9)

为什么80%的码农都做不了架构师?>>> ...

weixin_33717117的博客 929

kettle从入门到精通 第九十二课 ETL之kettle 使用Kettle的Carte对外发布读写接口

场景:使用kettle实现将查询结果返回给客户端,也就是说kettle暴露查询接口供外围系统调用。前提必须是使用carte服务才可以提供接口供外部系统调用。具体实操方法如下:1、设计转换根据具体需求设计转换,主要用到的步骤有获取变量(从请求参数中获取变量)、json输入(解析入参),json 输出将结果转换为json格式输出到客户端。如下图所示:2、接收参数使用获取变量步骤来接收接口请求参数,变量通过${}方法进行获取,如下图${PARAM}则是获取PARAM参数,将参数赋值为req字段。

zhangjin1222的博客 954

数据驱动的老年人健康管理与生活品质提升实践研究

摘要 全球人口老龄化趋势显著,2025年65岁以上人口预计达8.57亿,中国老年人口已突破3亿。老年人健康挑战突出,75%以上患慢性病,且独居老人心理健康与应急需求迫切。数据驱动的健康管理通过智能设备(如跌倒检测、远程监测)和AI技术(如疾病预测算法)提升效率,改善生活品质。研究提出差异化需求解决方案,如慢性病患者的持续监测与用药管理,高龄老人的综合护理服务,并探讨政策与商业模式以推动智慧养老产业发展,2024年市场规模已达6.8万亿元。

聚焦程序设计语言理论与前沿技术落地,拆解代码世界的底层逻辑,探索语言设计的 “创造与沟通” 之道。从编译原理、类型系统到 AI 技术在金融、医疗、制造、养老、大健康等领域的实战案例,分享硬核技术干货与工程化思考。 1631

人人都是架构师

原址 概念 Architecture Architecture is both the process and the product of planning, designing, and constructing buildings and other physical structures.  —— From https:/

Android系统攻城狮 1715

从零构建:基于Docker与FRR的OSPF虚拟网络实验室

本文详细介绍了如何利用Docker与FRR构建OSPF虚拟网络实验室,从环境设计到高级网络拓扑配置,再到实验验证与排错。通过容器化技术实现高效资源利用和快速部署,特别适合网络协议教学、企业网络架构验证等场景。

plum99的博客 221

架构漫谈:业务架构、应用架构与基础架构

软件开发就是把一个复杂的问题分解为一系列简单的问题,再把一系列简单的解决方案组合成一个复杂的解决方案。而软件开发中最大的挑战,就是即能够快速高效地针对需求、环境的变化做出改变,也能够持续提供稳定、高可用的服务。而软件架构,就是软件系统的骨骼与框架。 所谓架构,见仁见智,很难有一个明确或标准的定义;但架构并非镜花水月或阳春白雪,有系统的地方就需要架构,大到航空飞机,小到一个电商系统里面的一个功能组...

forBurnInG的专栏 2万+

OpenTCS打造移动机器人交通管制系统(四)

先分析下OpenTCS的一些策略方面的东西,这是OpenTCS的基础。 首先需要先明确下OpenTCS内核中的三个概念: 路由(Route) : 决定了车辆通过什么样的方式和算法来获得一段路径,未来车辆将沿着此路径运行。 派遣(Dispacher): 决定了一个订单应该关联哪一辆小车,即为订单分配车辆和为车辆分配订单。 调度(schedule):狭义上的调度,交通管制的核心,决定了何时分配...

白色冰激凌的技术专栏 5272

STM32F401RET6寄存器手册阅读标记

对于时钟树配置,可参考STM32CubeMX中的时钟树配置,STM32CubeMX将基础配置图像化,较为简单。RCC_CR寄存器的HSIRDY位为只读位,当读取值为1时,表示HSI振荡器准备就绪,当HSION位被设置时,HSIRDY会自动设置为低电平。//问题标记:USART配置寄存器信息是如何与USART1/2/3建立联系的(为什么不是三个分别配置)查阅寄存器手册可知,需要配置时钟的模块有:USART1,IO port A。(2)TX配置方法(寄存器手册512页)(4)配置寄存器(寄存器手册548页)

m0_72615170的博客 1468

【架构】架构漫谈

摘要:本文作者王庆友,前 1号店首席架构师,先后就职于 ebay、腾讯、1号店、找钢网,精通电商业务,擅长复杂系统业务建模和架构分析,目前在中国 B2B 第一电商公司找钢网担任首席架构师,微信号Brucetwins,欢迎一起聊架构。   目前讨论架构实操(术)的文章较多,讨论架构理念(道)的较少,本文基于作者在大型电商系统架构方面的一些实践和思考,和大家聊聊架构理念性的东西,希望能够...

weixin_30301183的博客 184

如何修改网页中的文本内容改成自己希望的数值?

本篇文章主要讲解,通过浏览器命令和浏览器自带的F12开发者工具,进行修改网页内容的方法教程 日期:2021年12月5日 作者:任聪聪 一、通过F12开发者工具进行修改 进入方式汇总: 1.右击鼠标,显示菜单找到审查 2.通过快捷键F12进入,笔记本需要先关闭fnlk功能键。 开发者工具介绍 说明: 1.表示选择元素,点击后可以选择文本的元素所在地 2.表示显示方式,手机还是电脑 3.表示div元素,点击后可以展开,对div内的html和文本进行编辑。 双击文本,即可进行修改成自己想要的,但是刷新后.

任聪聪的博客 2万+

Alink漫谈(二) : 从源码看机器学习平台Alink设计和架构

Alink 是阿里巴巴基于实时计算引擎 Flink 研发的新一代机器学习算法平台,是业界首个同时支持批式算法、流式算法的机器学习平台。本文是漫谈系列的第二篇,将从源码入手,带领大家具体剖析Alink设计思想和架构为何。

罗西的思考 1456

使用C#实现的多人语音视频系统:WebSocket与WebRTC集成

通过上述的代码示例,我们可以使用C#编写一个多人语音视频系统,该系统集成了WebSocket和WebRTC技术。当然,这只是一个简单的示例,实际的多人语音视频系统可能需要更多的功能和优化。通过结合这两种技术,我们可以实现实时的语音和视频通信,支持多人同时参与。在上述代码中,我们创建了一个WebSocket服务器,监听在本地的8080端口,并创建了一个WebRTC连接。接下来,我们将详细介绍如何使用C#编写一个多人语音视频系统,包括使用WebSocket建立连接和使用WebRTC进行实时通信。

TjsReact的博客 1634

java零基础从入门到精通(全)

目录前言1. 入门知识1.1 java体系1.2 JDK/JRE/JVM区别1.3 编译与运行理解1.4 类体函数细节2. 标识符 前言 java优势 健壮性(JVM(C++语言写的一个虚拟的计算机)、GC(垃圾回收机制)) 多线程并发 可移植性/跨平台 1. 入门知识 1.1 java体系 JavaSE:标准版 JavaEE:企业版 JavaME:微型版 1.2 JDK/JRE/JVM区别 JVM是不能独立安装的。 JRE和JDK都是可以独立安装的 层层嵌套,jvm包括jdk,jdk包括jre

码农研究僧的博客 6万+

漫谈LiteOS-LiteOS SDK支持RISC-V架构

【摘要】 本文首先对RISC-V的架构做了简要的介绍,在此基础上实现了LiteOS在RISC-V架构上的适配过程的具体步骤,希望对你有所帮助。 1 RISC-V架构简介 RISC-V是一个基于精简指令集(RISC)原则的开源指令集架构(ISA)。 与大多数指令集相比,RISC-V指令集可以自由地用于任何目的,允许任何人设计、制造和销售RISC-V芯片和软件而不必支付给任何公司专利费。R...

华为云官方博客 4405

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

Alink漫谈(十四) :多层感知机 之 总体架构

Alink 是阿里巴巴基于实时计算引擎 Flink 研发的新一代机器学习算法平台,是业界首个同时支持批式算法、流式算法的机器学习平台。本文和下文将带领大家来分析Alink中多层感知机的实现。

罗西的思考 596

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Alink漫谈(一) : 从KMeans算法实现不同看Alink设计思想

Alink 是阿里巴巴基于实时计算引擎 Flink 研发的新一代机器学习算法平台,是业界首个同时支持批式算法、流式算法的机器学习平台。本文将带领大家从多重角度出发来分析推测Alink的设计思路。

罗西的思考 1628

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

关于排序算法、架构师漫谈的博客网页

http://www.cnblogs.com/hexiaochun/category/411706.html

l_215851356的专栏 260

Alink漫谈(十一) :线性回归 之 L-BFGS优化

Alink 是阿里巴巴基于实时计算引擎 Flink 研发的新一代机器学习算法平台,是业界首个同时支持批式算法、流式算法的机器学习平台。本文介绍了线性回归的L-BFGS优化在Alink是如何实现的,希望可以作为大家看线性回归代码的Roadmap。

罗西的思考 1218

Alink漫谈(十) :线性回归实现 之 数据预处理

Alink 是阿里巴巴基于实时计算引擎 Flink 研发的新一代机器学习算法平台,是业界首个同时支持批式算法、流式算法的机器学习平台。本文和下文将介绍线性回归在Alink中是如何实现的,希望可以作为大家看线性回归代码的Roadmap。

罗西的思考 934

架构师之路-优秀博客推荐2

系统架构师秘籍(三)架构视角和关注点 - 优快云博客 上次的博文中,我们介绍了一下软件架构的基本概念,接下来我们介绍一下如何来架构一个软件系统。 http://blog.youkuaiyun.com/zs234/article/details/38323427 架构- 优快云博客 什么是架构? 把一个整体切分成不同的部分,由不同角色来完成这些分工,并通过建立不同部分相互沟通的机制使得这

赵树祥的博客 1515
上一篇: 《架构师》期刊摘要(2016年)三
下一篇: 《架构与未来》摘要(一)
iteye_19607
博客等级 码龄8年 34粉丝 198原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值