不止中台:全面的架构演进趋势和方法(1)

简介: 不止中台:全面的架构演进趋势和方法(1)
付老师这篇一万四千字的长文,有不少独创性的真知灼见。比如中台实施组合拳,不拘泥一家。EBA vs DDD等。在十万加爽文式快餐阅读更容易被follow的时代,本文重发,谨以此献给能读懂或者打算读懂的读者们。毕竟专业领域是有阅读门槛的。 小编按:


应技术琐话之约,试图写一篇讨论架构方法论的文章,然而动笔之后,才发现,自己似乎陷入了Frederick P. Brooks先生在《设计原本》一书中指出的问题:“设计中最困难的部分在于决定要设计什么”。


2020年1月18日,有人戏称是“中台”历史上最“困难”的一天,一篇炸圈的文章将对“中台”的讨论又一次推向高点,虽然“泼冷水”的意味十足。其实笔者之前也谈到过,“中台”自诞生伊始就非一个严谨的定义,而是一种比喻,比喻当然也就容易导致争论不休,“中台”现在面临的问题其实也和笔者动手写这篇文章面对的问题差不多。但是,将“中台”理论不断明晰化的尝试仍是个好事情,毕竟,这是国内企业掀起的一次对架构设计方法的有益探索。


笔者在2019年11月南京中台大会上也曾讲到,如今很多领域都在谈国产化、自主可控,架构领域难道不需要吗?架构领域方法论的持续完善、国产理论的持续创新,是驾驭技术组合的关键,底层技术的不断自主化并不会必然带来顶层设计能力的自主化,而数字化转型,除了需要底层技术的支撑外,卓越的上层设计更是重中之重。走出有中国特色的数字化道路,底层技术能力与上层设计能力缺一不可。


对企业级软件架构设计方法的研究需要所有人共同关注,它是在持续进化的,也是未来企业走向数字化过程中,实现业务与技术深度融合的必经之路。Brooks先生在同一本书还提到:“好的设计者应该投入大量精力来学习判例……但现代设计匆忙的节奏却对这种实现非常不利”,他写下此语是在10年前,今天,这种情况只能说是有过之而无不及吧。


讨论架构问题永远是困难的,虽然笔者能力有限,但是出于对架构理论的爱好,还是尝试通过本文与各位读者共同探讨架构方法的演进与改良。


一、软件工程与企业架构


(一)懵懂的早期:没有工程、没有架构

架构设计是随着软件复杂度的上升而真正受到人们重视的。1946年,巨大的电子管计算机ENIAC诞生,软件行业的帷幕拉开,但是此后十几年的时间里,软件设计都只是少数人的事情,这个行业大部分时间都在实验室中发展。虽然高级语言出现,但是大多数程序设计人员的主要武器是汇编语言。模块化的思路逐渐出现,但是软件过程管理是很原始的,也没有所谓的架构设计方法,流行的就是“先写了再说”。


(二)方法的开始:瀑布模型和Zachman模型

混乱的管理方式引发了60-70年代的软件危机,于是,1968年NATO会议上,“软件工程”的概念首次被提出,其核心思想就是建立并使用完善的工程化原则,通过一系列方法,以较经济的手段获得能在实际机器上有效运行的可靠软件。这个“朴素”的目标,反映了软件行业早期存在的时间不可控、质量不可控、预算不可控等诸多问题造成的困扰。


1970年,Winston Royce在《大型软件系统开发的管理》一文中,提出了“瀑布模型”,将开发分成如图1所示的7个明确的阶段:


image.png


Royce其实认为这是一个有风险的开发过程,并提出了5个修改建议,包括在分析阶段之前增加一个在信息不足条件下的预设计、开发过程中增加客户参与等,但是大家却把这个被他列为批评对象的“瀑布模型”作为开发的标准过程,包括美国国防部,他的建议却鲜为人知了。其中的分析阶段也就包括了架构设计工作,逐渐又被细分为概要设计和详细设计。但是这个时期的架构设计主要还是针对软件设计,还没有发展出成形的企业架构理论。


随着人们对软件设计工作认识的不断深入,大型软件设计与企业管理的关系越来越紧密,这也体现了人们对软件设计的本质性目标——为企业服务的认知。基于此,1987年Zachman提出了首个较为完整的企业架构模型,该模型按照“5W1H”,即What(数据)、How(功能)、Where(网络)、Who(角色)、When(时间)、Why(动机)6个维度,结合目标范围、业务模型、信息系统模型、技术模型、详细展现、功能系统6个层次,将企业架构分成36个组成部分,描述了一个完整的企业架构要考虑的内容,如表1-1所示。


image.png


这个架构设计方法论已经将系统设计应支持企业经营管理目标的要求表达出来,但是该模型的一个不足是Zachman并没有给出一个详细的构建方法。

相关文章
|
存储 数据采集 监控
信息系统架构开发方法ADM
信息系统架构开发方法ADM
1155 5
|
8月前
|
缓存 负载均衡 监控
微服务架构下的电商API接口设计:策略、方法与实战案例
本文探讨了微服务架构下的电商API接口设计,旨在打造高效、灵活与可扩展的电商系统。通过服务拆分(如商品、订单、支付等模块)和标准化设计(RESTful或GraphQL风格),确保接口一致性与易用性。同时,采用缓存策略、负载均衡及限流技术优化性能,并借助Prometheus等工具实现监控与日志管理。微服务架构的优势在于支持敏捷开发、高并发处理和独立部署,满足电商业务快速迭代需求。未来,电商API设计将向智能化与安全化方向发展。
508 102
|
存储 边缘计算 Cloud Native
“论模型驱动架构设计方法及其应用”写作框架,软考高级,系统架构设计师
模型驱动架构设计是一种用于应用系统开发的软件设计方法,以模型构造、模型转换和精化为核心,提供了一套软件设计的指导规范。在模型驱动架构环境下,通过创建出机器可读和高度抽象的模型实现对不同问题域的描述,这些模型独立于实现技术,以标准化的方式储存,利用模型转换策略来驱动包括分析、设计和实现等在内的整个软件开发过程。
974 3
|
自然语言处理 算法 JavaScript
面向长文本的多模型协作摘要架构:多LLM文本摘要方法
多LLM摘要框架通过生成和评估两个步骤处理长文档,支持集中式和分散式两种策略。每个LLM独立生成文本摘要,集中式方法由单一LLM评估并选择最佳摘要,而分散式方法则由多个LLM共同评估,达成共识。论文提出两阶段流程:先分块摘要,再汇总生成最终摘要。实验结果显示,多LLM框架显著优于单LLM基准,性能提升最高达3倍,且仅需少量LLM和一轮生成评估即可获得显著效果。
667 10
面向长文本的多模型协作摘要架构:多LLM文本摘要方法
|
机器学习/深度学习 人工智能 NoSQL
记忆层增强的 Transformer 架构:通过可训练键值存储提升 LLM 性能的创新方法
Meta研究团队开发的记忆层技术通过替换Transformer中的前馈网络(FFN),显著提升了大语言模型的性能。记忆层使用可训练的固定键值对,规模达百万级别,仅计算最相似的前k个键值,优化了计算效率。实验显示,记忆层使模型在事实准确性上提升超100%,且在代码生成和通用知识领域表现优异,媲美4倍计算资源训练的传统模型。这一创新对下一代AI架构的发展具有重要意义。
813 11
记忆层增强的 Transformer 架构:通过可训练键值存储提升 LLM 性能的创新方法
|
运维 负载均衡 Shell
控制员工上网软件:高可用架构的构建方法
本文介绍了构建控制员工上网软件的高可用架构的方法,包括负载均衡、数据备份与恢复、故障检测与自动切换等关键机制,以确保企业网络管理系统的稳定运行。通过具体代码示例,展示了如何实现这些机制。
278 63
|
机器学习/深度学习 算法 数据可视化
基于深度混合架构的智能量化交易系统研究: 融合SSDA与LSTM自编码器的特征提取与决策优化方法
本文探讨了在量化交易中结合时序特征和静态特征的混合建模方法。通过整合堆叠稀疏降噪自编码器(SSDA)和基于LSTM的自编码器(LSTM-AE),构建了一个能够全面捕捉市场动态特性的交易系统。SSDA通过降噪技术提取股票数据的鲁棒表示,LSTM-AE则专注于捕捉市场的时序依赖关系。系统采用A2C算法进行强化学习,通过多维度的奖励计算机制,实现了在可接受的风险水平下最大化收益的目标。实验结果显示,该系统在不同波动特征的股票上表现出差异化的适应能力,特别是在存在明确市场趋势的情况下,决策准确性较高。
599 5
基于深度混合架构的智能量化交易系统研究: 融合SSDA与LSTM自编码器的特征提取与决策优化方法
|
12月前
|
机器学习/深度学习 算法 文件存储
神经架构搜索:自动化设计神经网络的方法
在人工智能(AI)和深度学习(Deep Learning)快速发展的背景下,神经网络架构的设计已成为一个日益复杂而关键的任务。传统上,研究人员和工程师需要通过经验和反复试验来手动设计神经网络,耗费大量时间和计算资源。随着模型规模的不断扩大,这种方法显得愈加低效和不够灵活。为了解决这一挑战,神经架构搜索(Neural Architecture Search,NAS)应运而生,成为自动化设计神经网络的重要工具。
|
前端开发 JavaScript
掌握微前端架构:构建现代Web应用的新方法
本文介绍了微前端架构的概念及其在现代Web应用开发中的优势与实施方法。微前端架构通过将应用拆分成独立模块,提升了开发效率和灵活性。其核心优势包括技术栈灵活性、独立部署、团队协作及易于维护。文章详细阐述了定义边界、选择框架、管理状态和通信等关键步骤,并讨论了状态同步、样式隔离及安全性等挑战。微前端架构有望成为未来Web开发的重要趋势。
业务架构问题之什么是自上而下和自下而上的设计方法
业务架构问题之什么是自上而下和自下而上的设计方法
551 18