什么是架构?常见架构概念盘点
发布时间:2025-05-12 浏览次数:286 来源:架构视界

什么是架构

架构,简单来说,就是对一个系统的基本组织方式,它定义了系统由哪些部分组成,这些部分如何相互关联,以及指导其设计和演化的原则。

以建筑为例,建筑师在建造一座大楼之前,需要设计大楼的架构。确定大楼有多少层、各个楼层的功能(如底层是商场,中层是办公区域,高层是住宅区)、楼梯和电梯如何布局以连接各楼层,以及采用何种结构来保证大楼的稳固等。同样,在各类系统中,架构起着类似的规划和指导作用。

在软件系统里,架构决定了软件由哪些模块构成,模块间如何通信,采用何种技术框架来保障系统的性能、可扩展性等。在企业层面,架构涵盖业务、技术、数据等多个维度,确保企业各部分协同工作,实现战略目标。

架构的关键要素组成:架构=组件+关系+原则。

1. 组件

即系统的组成部分,如软件架构中的模块,企业架构中的业务单元。
2. 关系
描述组件之间的连接、交互方式,如软件模块之间的调用关系,企业业务单元之间的协作流程。
3. 原则
指导架构设计、演化的准则,例如软件架构中的高内聚低耦合原则,企业架构中的与战略对齐原则。

为什么有这么多架构呢?

  • 不同的关注视角有不同的架构

    • 业务视角

业务架构、能力架构、产品架构等,从业务运营、产品规划等角度出发,关注如何通过合理的架构设计实现业务目标、提升业务能力、规划产品体系。业务架构侧重于梳理业务流程、组织和功能,以适应市场竞争和客户需求;产品架构则聚焦于产品本身的功能、物理组成及接口,以打造满足用户需求的产品。
    • 技术视角
技术架构、微服务架构、云原生架构等,着重于技术层面的选型、架构模式选择,以保障系统的性能、可扩展性、稳定性。技术架构决定采用何种硬件、软件技术来支撑业务运行;微服务架构通过将大型应用拆分为小的服务,提升系统的灵活性和可维护性。
    • 管理视角
风险管理架构、战略架构等,从企业管理和战略落地的角度,帮助企业应对风险、实现战略目标。风险管理架构确保企业提前识别和应对各类风险,保障运营稳定;战略架构将企业战略转化为具体的架构规划,引导企业各层面的建设。
  • 应对不同的系统规模和复杂度产生不同的架构
小型简单系统可能只需要较为基础、通用的架构模式就能满足需求。但随着系统规模的扩大和复杂度的提升,单一的架构模式难以应对。例如,单体架构适用于小型应用的快速开发,但当业务增长、功能增多时,可能需要转向微服务架构,将系统拆分为多个独立的服务,便于独立开发、部署和扩展,以应对复杂的业务需求。
对于大型企业,涉及众多业务领域、海量数据和复杂的组织架构,需要从业务架构、数据架构、应用架构等多个维度进行综合设计,确保各部分协同工作,实现整体的高效运营。
  • 适应不同的行业特点和需求产生不同的架构
金融行业对数据安全和交易的一致性要求极高,其架构设计会着重强化安全架构和数据一致性保障机制。例如,采用分布式账本技术(区块链架构的一种应用)来确保金融交易的不可篡改和透明性。
互联网行业强调快速迭代和高并发处理能力,会倾向于选择云原生架构、微服务架构等,以便快速响应市场变化,应对高流量冲击。如电商平台在促销活动期间,通过云原生架构的弹性伸缩功能,动态调整服务器资源,保障系统稳定运行。
  • 满足不同的发展阶段和战略目标也会有不同的架构
企业在初创阶段,可能更注重快速实现业务功能,采用较为简单直接的架构。随着企业发展壮大,战略目标可能转向提升用户体验、拓展业务范围等,此时就需要对架构进行优化和升级。例如,企业从本地部署业务系统转向云端,采用云原生架构,以获得更好的扩展性和成本效益,支持业务的全球化战略。

下面来看一下有哪些架构以及其基本概念。

一、数字化转(Digital Transformation)

深化应用新一代信息技术,激发数据要素创新驱动潜能,建设提升数字时代生存和发展的型能力,加速业务优化、创新与重构,创造、传递并获取新价值实现转型升级和创新发展的过程。

注:推进数字化转型通常坚持以价值效益为导向、以新型能力为主线、以数据要素为驱动、以业务变革为核心。

二、企业架构(Enterprise Architecture简称EA)

从企业全局视角出发,对企业的业务、技术、数据等各个层面进行全面规划和设计的蓝图。它旨在确保企业的战略目标能够有效落地,通过整合和协调企业内不同系统、流程和组织单元,实现高效运营和可持续发展。
企业架构通常包括业务架构、数据架构、应用架构和技术架构等多个子架构(我们平常说的4A架构),各子架构相互关联、相互影响,共同构成企业数字化转型的基础框架。

三、业务架构(Business Architecture)

对企业业务战略、业务模式、业务流程以及业务组织的结构化描述。它定义了企业如何通过开展各项业务活动来实现其战略目标,明确业务的核心功能、业务单元之间的关系以及业务流程的流转。业务架构为企业的运营提供了清晰的框架,帮助企业优化业务流程、提升业务效率,并适应市场变化和战略调整。

四、数据架构(Data Architecture)

关于企业数据的结构、分布、存储、管理和使用的总体设计。它涵盖了数据的采集、传输、存储、处理、分析和共享等环节,旨在确保企业数据的一致性、完整性、准确性和安全性,为企业的决策和业务运营提供可靠的数据支持。数据架构涉及数据模型设计、数据库管理系统选型、数据仓库和数据湖的构建等方面,通过合理规划数据资源,挖掘数据价值,驱动企业创新。

五、应用架构(Application Architecture)

描述企业应用系统的组成结构、模块划分、接口定义以及各应用之间的交互关系。它关注如何将企业的业务需求转化为具体的应用系统,并确保这些应用系统能够协同工作,满足业务流程的自动化和信息化需求。应用架构设计需考虑系统的可扩展性、灵活性、兼容性和易用性,以适应企业业务的发展和变化。

六、技术架构(Technology Architecture)

支撑企业业务和应用运行的技术体系结构,包括硬件设施、软件系统、网络架构、安全架构等方面。技术架构决定了企业采用何种技术手段来实现业务目标,它需要根据业务需求和发展趋势,选择合适的技术平台、工具和框架,并确保技术体系的可靠性、性能、可维护性和安全性。例如,选择云计算技术来提供灵活的计算资源,采用微服务架构提升系统的可扩展性等。

七、微服务架构(Microservices Architecture)

一种将大型单体应用拆分为多个小型、独立的服务的架构风格,每个服务都围绕特定业务功能构建,具有独立的进程、数据存储和接口,可独立开发、部署和扩展。微服务架构强调服务的自治性和松耦合,使得各个服务能够独立演进,快速响应业务变化。例如,在电商系统中,将用户管理、商品管理、订单处理等功能分别拆分为独立的微服务,每个微服务专注于自身业务逻辑,通过轻量级通信机制进行交互。

八、单体架构(Monolithic Architecture)

将应用程序作为一个整体构建,所有的业务功能都集成在一个可执行文件中,共享相同的数据库和资源。单体架构开发简单,易于维护和部署初期的项目。然而,随着业务规模扩大,单体架构可能会面临可维护性差、扩展性低、部署不灵活等问题,因为对任何一个功能的修改都可能影响整个应用。例如早期的小型企业管理系统,可能将用户登录、订单处理、报表生成等所有功能都整合在一个程序中。

九、分层架构(Layered Architecture)

将软件系统按照功能划分为不同的层次,每层都有明确的职责和功能边界,各层之间通过接口进行通信。常见的分层包括表现层(负责与用户交互,展示数据和接收用户输入)、业务逻辑层(处理业务规则和流程)、数据访问层(负责与数据库交互,进行数据的读取和存储)等。分层架构有助于提高系统的可维护性、可扩展性和代码的复用性,使得不同层次的开发和维护可以相对独立进行。

十、分布式架构(Distributed Architecture)

将系统的不同组件分布在多个计算机或服务器上,通过网络进行通信和协作,共同完成系统的功能。分布式架构可以提高系统的性能、可扩展性和容错性。例如,在大型互联网应用中,通过将用户请求分配到多个服务器上处理,减轻单个服务器的压力;将数据分布存储在不同节点上,提高数据的读写性能和可用性。分布式架构面临的挑战包括数据一致性维护、网络通信延迟、系统监控和故障处理等。

十一、云原生架构(Cloud - Native Architecture)

一种基于云计算环境设计和构建应用的架构方式,充分利用云计算的优势,如弹性伸缩、资源共享、高可用性等。云原生架构通常包含容器化技术(将应用及其依赖封装在容器中,实现环境隔离和快速部署)、微服务架构(以微服务的形式构建应用,便于独立开发、部署和管理)、DevOps(实现开发、运维和测试的高效协作和自动化流程)以及服务网格(用于管理微服务之间的通信,提供流量控制、安全和监控等功能)等关键要素,使应用能够更好地适应云计算环境的动态变化和快速迭代需求。

十二、事件驱动架构(Event - Driven Architecture,EDA)

基于事件来触发和驱动应用程序的执行流程。在这种架构中,组件之间通过发布和订阅事件进行通信,当某个事件发生时,相关的订阅者会收到通知并做出相应的反应。例如,在电商系统中,当用户下单事件发生时,订单处理组件、库存管理组件、物流通知组件等订阅了该事件的模块会分别执行相应的操作,这种架构能够提高系统的异步处理能力、可扩展性和灵活性,适用于处理复杂的业务流程和高并发场景。

十三、面向服务架构(Service - Oriented Architecture,SOA)

一种将应用程序构建为一组相互独立、可复用的服务的架构范式。这些服务通过标准化的接口进行通信,以实现业务功能的组合和集成。SOA 强调服务的封装性、松耦合性和可重用性,使得企业能够快速构建和调整业务应用,以适应不断变化的业务需求。例如,企业可以将客户管理、订单处理、支付处理等功能封装为独立的服务,不同的业务流程可以根据需要调用这些服务进行组合,实现业务的灵活定制和快速开发。

十四、人工智能架构(Artificial Intelligence Architecture)

人工智能架构是用于构建和运行人工智能系统的框架。它涵盖数据处理模块,负责收集、清洗和标注大量数据,为人工智能模型提供高质量的训练素材。模型构建与训练模块利用机器学习、深度学习等算法构建模型,并通过数据训练优化模型参数,以提高模型的准确性和泛化能力。推理与决策模块则将训练好的模型应用于实际场景,对输入数据进行分析和预测,做出决策。此外,人工智能架构还包括算力支撑部分,如 GPU(图形处理器)、TPU(张量处理器)等,以满足人工智能运算对高性能计算的需求。该架构广泛应用于图像识别、自然语言处理、智能机器人等领域。

十五、信息系统安全架构(Information System Security Architecture)

信息系统安全架构专注于保障信息系统的保密性、完整性和可用性。它从多个层面进行设计,包括物理安全层面,确保信息系统所依赖的硬件设备、机房环境等物理设施的安全,防止受到自然灾害、人为破坏等威胁;网络安全层面,通过防火墙、入侵检测系统、虚拟专用网络(VPN)等技术,保护网络边界和内部网络的安全,防范网络攻击和数据泄露;系统安全层面,对操作系统、数据库系统等进行安全配置和管理,及时修复漏洞,防止恶意软件入侵;应用安全层面,对各类应用程序进行安全设计和开发,避免出现注入攻击、跨站脚本攻击等安全漏洞。同时,信息系统安全架构还涉及身份认证与授权管理、数据加密、安全审计等多个方面,构建全方位的安全防护体系。