理解构架的视角

2023/2/7

本文主要转载自:架构 - 理解构架的视角 (opens new window)

# 架构的视角

在笔者的知识体系中,实际上将架构分为 业务架构、应用/技术架构、物理架构(部署图、拓扑图) 这几大类

每一种架构都存在多种视角,以下内容中只是列举了部分视角

# 业务架构

业务架构服务于业务目标,通过描绘业务上下层关系,梳理一整套完整、简单的业务视图,降低业务系统的复杂度,提高客户理解度,最终给客户最直观的业务体现;看看京东业务架构(网上分享图): image.png

# 应用/技术架构

根据业务场景的需要,设计应用的层次结构,制定应用规范、定义接口和数据交互协议等。并尽量将应用的复杂度控制在一个可以接受的水平,从而在快速的支撑业务发展的同时,在保证系统的可用性和可维护性的同时,确保应用满足非功能属性要求(性能、安全、稳定性等)。技术架构主要考虑系统的非功能性特征,对系统的高可用、高性能、扩展、安全、伸缩性、简洁等做系统级的把握

# 功能视角

功能视角和业务视角有重合的地方

image.png

# 技术视角-总体

从技术层面描述,主要是分层模型,例如持久层、数据层、逻辑层、应用层、表现层等,然后每层使用什么技术框架,例如Spring、hibernate、ioc、MVC、成熟的类库、中间件、WebService等 image.png

# 技术视角-数据架构

专注于构建数据中台,统一数据定义规范,标准化数据表达,形成有效易维护的数据资产。打造统一的大数据处理平台,包括数据可视化运营平台、数据共享平台、数据权限管理平台等

# 技术视角-基础架构

PAAS,IAAS... image.png

# 技术视角-运维架构

负责运维系统的规划、选型、部署上线,建立规范化的运维体系 image.png

# 物理架构

物理架构关注软件元件是如何放到硬件上的,专注于基础设施,某种软硬件体系,甚至云平台,包括机房搭建、网络拓扑结构,网络分流器、代理服务器、Web 服务器、应用服务器、报表服务器、整合服务器、存储服务器和主机等 image.png

# 参考

  1. https://www.pdai.tech/md/arch/arch-x-view.html (opens new window)
  2. https://zhuanlan.zhihu.com/p/342136194?utm_medium=social&utm_oi=618053734157127680 (opens new window)