架构实战体会,结合《蔡学镛:架构的5个观察角度》

简介: 架构是结构化的表征,结构重在看 ,会看才能发现其中的别有洞天之美。软件架构也是同样的思考方式,需要能够通过多视角观察,才能体会其门道,才能体会架构之美。架构谈来谈去,还是从不同的视角理解结构,以形成准确清晰的结构抽象。

架构实战体会,结合《蔡学镛:架构的5个观察角度》
架构是结构化的表征,结构重在看 ,会看才能发现其中的别有洞天之美。研究物理结构常常说:“横看成岭侧成峰,远近高低各不同”,通过不同的视角,会有不同的表征,如俯视图、正视图、侧视图,我们会有抽象思维能力(刻意练习),快速形成空间抽象图像。
软件架构也是同样的思考方式,需要能够通过多视角观察,才能体会其门道,才能体会架构之美。在我日常的实战中,更多的是关注业务架构(需求)——>产品架构(功能、结构、行为)——>技术架构——>组织架构。重点说一下组织架构,基于架构师的职责应该是技能完成好设计,又能灵活利用资源完成架构的落地,因此我在做产品、技术架构的同时,比较喜欢近一步考虑人员结构,如何让人员的能力与软件架构的工作形成较好的匹配,来顺利的完成架构的实现。以上是软件建设过程的组织架构。随着软件的建设,软件与业务相结合,从康威定律的理解,软件结构会影响组织架构,运行态的软件一定是与维护组织结构有良好的映射,如果不能建立很好的映射,就会面临架构的落地困难问题。
在阅读本文后,对于数据架构、网络架构我接触较少,可能是跟项目属性偏业务更多有所关系,或者我更愿意将数据架构和网络架构放在技术架构中考虑,当然这才建设期数据和网络是技术的重要组成部分,但是站在业务或者运行态的视角考虑,数据架构一定很重要,站在运维视角考虑,网络与部署架构则更加重要。由此可得出一个结论,架构有众多视角,但是更重要的关注什么视角,取决于你的角色,根据角色(业务、技术、运维……)而选择观察关注的侧重点。
文章对于架构观察视角的分类有:鸟瞰架构、剖面架构两个维度,剖面有可以有横剖、侧剖,鸟瞰相对更加宏观,更加能表达蓝图,剖面体现内部结构,体现细节,我对微服务架构的理解其实也是类似的思考,微服务=微服务节点+微服务关系,微服务是一个宏观架构-鸟瞰,节点+关系便是一种图结构的剖面关系,微服务节点有其功能特性也有其内部剖面结构。同样对于微服务,其实可以近一步谈数据架构、领域设计架构、安全架构、网络架构等,这些也是微服务在不同视角下的剖面架构。
文章关于应用系统的分层也有所启发,文章分为:UI、应用、框架、服务、核心、驱动、数据,感觉这个可能是过去架构的最佳实践,首先按应用层和核心层可以分为应用层包含UI、应用、框架、服务;核心层包含核心、驱动、数据,对于核心业务和数据之间架设的驱动层,可以将业务与数据解耦,而让驱动层变为可拔插的架构,数据库这么多年便是这样干的。核心层与应用层的区分可以参看操作系统,内核态和应用态,通过内部接口进行衔接。服务指围绕一些核心业务的功能封装,属于中台性质,一般服务之上是应用,应用是面向业务场景的特性化封装,但是我们可以在之间架设框架层,可以近一步抽象变化,提升服务适应业务场景的开发效率。相对简单指页面层。
以上是结合文章与日常架构工作的一些思考理解,架构谈来谈去,还是从不同的视角理解结构,以形成准确清晰的结构抽象。
参考文章:蔡学镛:架构的5个观察角度
https://mp.weixin.qq.com/s/Co-5ZafexBhd1aYSnfEWDw

相关文章
|
7天前
|
弹性计算 Java 数据库
Web应用上云经典架构实战
本课程详细介绍了Web应用上云的经典架构实战,涵盖前期准备、配置ALB、创建服务器组和监听、验证ECS公网能力、环境配置(JDK、Maven、Node、Git)、下载并运行若依框架、操作第二台ECS以及验证高可用性。通过具体步骤和命令,帮助学员快速掌握云上部署的全流程。
|
1月前
|
消息中间件 Java Kafka
实时数仓Kappa架构:从入门到实战
【11月更文挑战第24天】随着大数据技术的不断发展,企业对实时数据处理和分析的需求日益增长。实时数仓(Real-Time Data Warehouse, RTDW)应运而生,其中Kappa架构作为一种简化的数据处理架构,通过统一的流处理框架,解决了传统Lambda架构中批处理和实时处理的复杂性。本文将深入探讨Kappa架构的历史背景、业务场景、功能点、优缺点、解决的问题以及底层原理,并详细介绍如何使用Java语言快速搭建一套实时数仓。
176 4
|
1月前
|
运维 NoSQL Java
后端架构演进:微服务架构的优缺点与实战案例分析
【10月更文挑战第28天】本文探讨了微服务架构与单体架构的优缺点,并通过实战案例分析了微服务架构在实际应用中的表现。微服务架构具有高内聚、低耦合、独立部署等优势,但也面临分布式系统的复杂性和较高的运维成本。通过某电商平台的实际案例,展示了微服务架构在提升系统性能和团队协作效率方面的显著效果,同时也指出了其带来的挑战。
86 4
|
2月前
|
存储 前端开发 API
DDD领域驱动设计实战-分层架构
DDD分层架构通过明确各层职责及交互规则,有效降低了层间依赖。其基本原则是每层仅与下方层耦合,分为严格和松散两种形式。架构演进包括传统四层架构与改良版四层架构,后者采用依赖反转设计原则优化基础设施层位置。各层职责分明:用户接口层处理显示与请求;应用层负责服务编排与组合;领域层实现业务逻辑;基础层提供技术基础服务。通过合理设计聚合与依赖关系,DDD支持微服务架构灵活演进,提升系统适应性和可维护性。
|
7月前
|
运维 Oracle 容灾
Oracle dataguard 容灾技术实战(笔记),教你一种更清晰的Linux运维架构
Oracle dataguard 容灾技术实战(笔记),教你一种更清晰的Linux运维架构
|
3月前
|
运维 持续交付 API
深入理解并实践微服务架构:从理论到实战
深入理解并实践微服务架构:从理论到实战
155 3
|
3月前
|
存储 缓存 负载均衡
亿级流量架构理论+秒杀实战系列(二)
亿级流量架构理论+秒杀实战系列(二)
|
3月前
|
运维 监控 持续交付
深入浅出:微服务架构的设计与实战
微服务,一个在软件开发领域如雷贯耳的名词,它代表着一种现代软件架构的风格。本文将通过浅显易懂的语言,带领读者从零开始了解微服务的概念、设计原则及其在实际项目中的运用。我们将一起探讨如何将一个庞大的单体应用拆分为灵活、独立、可扩展的微服务,并分享一些实践中的经验和技巧。无论你是初学者还是有一定经验的开发者,这篇文章都将为你提供新的视角和深入的理解。
89 3
|
3月前
|
SQL 缓存 运维
亿级流量架构理论+秒杀实战系列(一)
亿级流量架构理论+秒杀实战系列(一)
|
3月前
|
消息中间件 应用服务中间件 数据库
亿级流量架构理论+秒杀实战系列(三)
亿级流量架构理论+秒杀实战系列(三)

热门文章

最新文章