阳途教育为您的考证保驾护航

关于我们|网站公告|广告服务|联系我们| 网站地图

搜索
软件行业分类 软件工程师 系统分析师 系统架构师
热门标签:

架构师

架构

最新标签:

架构师

架构

什么是道,什么是术?架构理念性的东西?

日期:2022/04/16 08:11作者:佚名人气:

导读:架构师能力模型抽象思维是架构师最重要的能力,架构师要善于把实物概念化并归类。作者简介:王庆友,前1号店首席架构师,先后就职于ebay、腾讯、1号店、找钢网,精通电商业务,擅长复杂系统业务建模和架构分析,同时在构建大规模的分布式系统方面有丰富实践,尤其在大型系统的SOA改造方面有很深入的理论和实践,目前在中国找钢网担任首席架构师,微信号,个人公众号”架构之道”,...

目前讨论架构的实际操作()的文章很多,讨论架构(dao)的概念的文章很少。本文基于作者对大型电子商务系统架构的实践和思考。能够吸引他人,促进大家对架构的理解。

什么是道,什么是艺术?道是事物发展的本质规律,艺术是事物发展的具体方式。

法律只有一个,方法有很多,条条大路通罗马,罗马就是路,路就是艺术。道为根本,艺术为道。如果提前知道罗马在哪里,那么到处都是路,路与路相连。建筑也是如此。如果你能理解建筑的本质,你就不会被现有的实践和理论框架所束缚,以最直接的方式解决问题。

本文内容包括:

建筑的本质

任何系统,在自然条件下,都会从有序走向无序,这是有科学依据的。根据热力学第二定律,自然界一切自发过程都有方向,一个孤立的系统会从有序变为无序。,也就是它的熵会不断增加,最终消亡。但是,生物体可以与外界相互作用,主动代谢,创造“负熵”来保证自身的秩序,继续生存。

同样,随着一个软件系统的功能越来越多,调用次数急剧增加,整个系统逐渐变得支离破碎,越来越无序,最终无法维护和扩展。因此,经过一段时间的野蛮生长后,系统也需要及时干预。,以避免增加混乱。

架构的本质是有序地重构系统,不断降低系统的“熵”,使系统不断进化。

架构如何实现从无序到有序的有序?基本的方法是分而治之,先打散系统,再重组。

拆分的过程是将系统拆分为各个子系统/模块/组件。拆分时,必须先解决各个组件的定位问题,然后才能划分彼此的边界,以实现合理的拆分。组合是根据最终的要求将各个独立的组件有机地整合在一起。相对来说,分裂的第一步难度更大。

拆分的结果使开发人员能够专注于业务和技能,实现敏捷开发。集成的结果是系统变得灵活,可以根据需要进行更改,实现业务敏捷。

比如在Web1.0时代,在一个ASP或者JSP页面中,HTML和脚本代码是混合在一起的。这个时候,脚本代码越多,系统就越混乱(也就是熵增加),最终甚至连开发者自己都这样。无法理解。此时需要重新架构系统,引入视图模式,分离HTML和脚本,HTML变成视图,脚本变成辅助类。然后简单地将它们放在一起。通过重新划分和重新组合,整个系统层次清晰,职责明确,减少了系统的混乱,易于扩展。同时,UED、程序员等不同技能的开发者可以负责不同的部分,有效提高开发效率。

一个好的结构就像一篇优美的散文。它与外界无法区分。表面上看起来杂乱无章,但实际上它是高度有序的。

架构分类和服务对象

架构一般可以分为业务架构、应用架构和技术架构。那么他们解决了哪些问题,为谁服务?我们先来看一个系统登陆流程:

对于开发负责人来说,怕是业务太复杂,代码逻辑太乱,超出了他的理解范围,系统无法维护。因此,开发要求是系统的整体概念清晰、易于理解、易于扩展。

对于负责运行的机器来说,担心的是业务并发量太大,核心系统资源(如数据库连接)不够。希望在业务量增加时,系统能够支持横向扩展,支持硬件容错(比如避免单点故障)。

开发的痛点主要通过业务架构和应用架构来解决。业务架构有助于从概念层面(动态包括业务流程/节点/输入/输出,静态包括业务领域/业务模块/文档模型)对系统的开发和理解。

应用架构有助于从逻辑层面(应用类型/应用形式/数据交互关系/交互方式等)开发落地系统,整个系统逻辑通俗易懂。最近谈得很多的SOA,属于应用架构的范畴。

机器的痛点主要是通过技术架构来解决的,比如技术平台的选择(操作系统/中间件/设备等),部署希望支持多机房,横向扩展,没有单机观点。

强调系统是人的系统,架构首先要为人服务。清晰的业务概念、合理的应用逻辑、易于理解的人是第一位的(即系统具有高度的有序性)。现在大家谈的更多的是技术架构,比如高并发设计、分布式事务处理等,正因为这个不需要业务上下文背景,还是互相交流比较好。在设计具体架构时,首先要关注业务架构和应用架构,这个架构的新手要特别注意。

建筑师能力模型

建筑师只做分与合的工作,但综合能力要求很高,需要内外兼修,厨房和大厅。下图通过典型的架构方式介绍了架构师的能力需求:

驾校教练必须有良好的驾驶技术,游泳教练必须有良好的游泳技术,因为这些都是非常实用的工作。书上学终觉浅,梅花寒寒来,建筑师亦然。他必须是一名优秀的程序员,并且具有良好的代码和系统导航能力。

在此基础上,架构师必须具备技术广度(多领域知识)和深度(技术远见),对主流公司的系统设计有很好的了解,知道优缺点,遇到实际问题,很快就会有有多种选项可供评估。

it架构设计研究组大数据时代的it架构设计_架构师_火山口架构 x架构

抽象思维是建筑师最重要的能力,建筑师应该善于对物体进行概念化和分类。比如面对大型B2C网站,可以快速抽象为采购->运营->前台搜索->下单->订单履行。

抽象思维是升华到高层次的概括,从真实到虚拟;而通过问题看本质是从虚到实,向更深层次挖掘。比如你看到一段java代码,你就知道它在JVM中是如何执行的;一次跨网络调用,就知道数据是如何通过各种介质(操作系统内核/网卡端口/电磁介质等)到达目标的。看透问题本质,使架构师能够敏锐地发现底层的真相,端到端系统地思考问题,找出桶的不足并加以解决。

一个可以实现的框架就是一个好的框架。良好的沟通能力确保各方就框架达成共识并愿意采取行动;良好的平衡和权衡能力保证了框架在现有资源的约束下是最合理的,理想终将成为现实。

总之,架构师的能力要求包括:

建筑领域

建筑师从浅到深可分为四层:一是山不是山,二是山是山,三是山不是山,四是山是山。

火山口架构 x架构_it架构设计研究组大数据时代的it架构设计_架构师

刚接手这个项目时,我对业务了解不多,总是被业务方面的术语吓到。如果我把现有的问题比作一座山,那就是一座山,一座山峰,我根本无法理解。此时,山不是山。

经过业务梳理和对系统的深入了解,可以设计一个掉丝方案,连接所有系统解决当前问题,可以看清当前山的全貌。

通过进一步抽象,发现问题的本质。事实证明架构师,这个问题很常见,以后还会有很多类似的问题。对设计进行总结和升华,得到一个通用的解决方案,既能解决当前的问题,也能解决潜在的问题。你此时看到的已经是问题的本质,看山不是山。

最后,回到问题本身,去掉过多的抽象,给出简洁明了的设计。一部分太胖,一部分太瘦。它不仅解决了当前的问题,还保留了最基本的扩展。这个时候,问题还是一样的问题。,山还是那座山。

佛教讲空和色,色是事物的现象,空是事物的本质。在这个意义上,一界无色无空,二界出色,三界出空,四界介于色与空之间,色与空皆是,不执着于当下,不执着于当下。未来为空。

非空非色,非空非色架构师,道是自然,如来的本质,结构的本质。

作者简介:王庆友,前一号店首席架构师,曾就职于ebay、腾讯、一号店、走钢网,精通电子商务业务,擅长复杂系统的业务建模和架构分析,同时构建大规模分布 他在系统方面有丰富的实践,特别是在大规模系统的SOA改造方面,有非常深入的理论和实践。目前,他正在寻找中国钢网首席架构师

本文由@王青友授权发布于人人都是产品经理。未经许可禁止转载。

关于我们|网站公告|广告服务|联系我们| 网站地图

Copyright © 2002-2022 阳途网 版权所有 | 备案号:湘ICP备2022018839号-1

声明: 本站 所有软件和文章来自互联网 如有异议 请与本站联系 本站为非赢利性网站 不接受任何赞助和广告