应用架构图

简介: /

在上一节有了业务架构的基础之上,当我们需要落地具体的技术方案时,此时就需要技术人员开始考虑技术架构了。技术架构是应接应用架构的技术需求,并根据识别的技术需求,进行技术选项,把各个关键技术和技术之间的关系描述清楚。

基础结构解决的主要问题包括:如何进行技术层面的分层、开发框架的选择、开发语言的选择、涉及非功能性需求的技术选择。由于应用架构体系是分层的,那么对应的技术架构体系自然也是分层的。大的分层有微服务架构分层模型,小的则是单个应用的技术分层框架。大的技术体系考虑清楚后,剩下问题就是根据实际业务考虑选择具体的技术点。各个技术点的分析、方案选择,最终形成关键技术清单,关键技术清单应考虑架构本身的分层逻辑,最终形成一个完整的技术架构图。

简而言之,技术架构试讲产品需求转变为技术实现的过程。

单体应用架构

单体应用架构一般是比较传统的分为4层:数据层(Data Layer)、应用逻辑层(Business Layer)、表现层(Presentation Layer)和基础通用层(Common Layer)。

展现层

展现层是整个应用面向用户的入口,用户通过展现层实现与系统的交互。展现层为用户提供系统功能的操作、系统数据的展现。展现层按照面向的用户类型提供不同的交互服务。例如在业务场景中,用户有实操层用户、管理层用户、决策层用户。针对不同层级的用户,系统所提供的功能是不相同:

  • 面向实操层用户,提供的是对系统的操作功能,满足业务日常运营。往往更多的是执行具体操作。
  • 面向管理层用户,满足管理者的日常管理需求,通常提供经营数据、日常管理数据、团队业务数据等等。通过数据分析,改善日常运营的流程。
  • 面向决策层用户,这一层的用户不需要太细的数据,为其提供企业的经营诊断数据和报告,辅助决策支持。

业务层

业务层是应用为解决业务需求,按照产品架构中的功能模块进行细化。业务层是对将产品层从粗到细的分解过程。这个过程是对业务的细化过程,把项目要交付的模块细分到最基本的单元。最基本单元是实现日常业务操作的最细粒度的功能点。由此,我们能够得到实现业务逻辑的全功能结构。

数据层

数据层按照应用的数据模型分别进行存储。这里的存储介质包含关系型数据库、NoSQL、分布式文件系统。

基础层

通用基础层是为系统提供通用能力的中间件,比如流程引擎、消息中间件、缓存、搜索引擎等等。这些中间件和业务是无相关性的,提供的是通用的基础技术能力。

基于上述分析,我们可以得到一个如下单体应用的技术架构:

分布式应用架构

分布式应用架构图实质是产品内部所有应用在分布式环境下的调用关系图。各应用间通过服务的形式相互调用,这是典型的 SOA 架构。在应用架构图中,SOA 架构中的服务注册、服务治理、服务发现这些 RPC 框架的基础平台功能不用在应用架构中体现。

应用架构图的重点是体现应用之间的逻辑关系和通信关系,体现产品的内部关系和外部关系。内部关系是产品内各应用的调用关系;外部关系展现的是产品与外部系统间的调用关系。将应用的内外关系呈现在应用架构中,产品在整个业务中的定位和影响将变得清晰。

应用间调用关系

在产品内部的各子系统之间,为了解决业务需求,通过应用之间的服务调用或者异步消息调用产生数据关系。通过产品架构图中得到的应用系统划分,按照系统间的调用关系,形成内部应用的集成架构图。在应用集成架构图中,需要标注调用链路中的业务含义,清楚的标注应用之间发生的业务关系。

外部系统调用关系

数据输入做为产品的业务数据来源,很大部分是外部系统提供。在应用架构图中,按照业务属性、来源关系进行对外部系统进行归类,并将外部的来源系统纳入整个应用架构中。我们知道计算机系统中,数据输入和数据输出是作为一个整体。应用架构中除了输入系统,输出系统做为整个产品的一部分,需要纳入到应用架构图中。

明确应用调用边界

应用边界对于产品的定位、产品的设计有很重要的影响。在应用架构中需要通过不同颜色的标注,来确定产品与外部系统的边界。通过不同颜色标注外部来源系统、内部应用、应用依赖系统、输出系统。为后续的规划、发展提供基础。

/

相关文章
|
前端开发 JavaScript NoSQL
从前端到后端:构建现代化的全栈应用
本文将探讨如何构建现代化的全栈应用,从前端到后端的技术选型、架构设计和开发实践等方面进行详细介绍。我们将深入研究各种技术工具和框架,如前端开发中的React和Vue,后端开发中的Java和Python,以及数据库管理与优化等,帮助读者全面了解全栈开发的核心概念和实际应用。
|
4月前
|
消息中间件 小程序 前端开发
小程序平台云上架构搭建实战:如何突破原生支付 30% 分账限制,构建合规交易资金链路
越来越多撮合型、本地生活、共享设备类创业团队选择基于阿里云搭建自研小程序平台。团队在完成前端开发、云上业务架构部署、支付基础链路对接后,往往会遇到一个共性瓶颈:微信、支付宝原生分账接口存在 30% 金额上限约束。对于需要向入驻商家、服务商、场地合作方分配高额收益的平台而言,该限制严重制约业务扩张,同时私户转账补差的替代方案持续滋生 “二清” 与税务风险。 本文基于阿里云技术栈,完整介绍小程序平台分层架构设计、云上部署方案、标准交易支付链路;重点拆解原生分账的底层约束,客观对比三类分账落地路线,讲解银行存管式一清分账架构如何突破比例限制,为小程序技术负责人、架构师提供可落地的选型参考。关键词:阿
399 3
|
6月前
|
存储 人工智能 前端开发
大模型应用:基于《症状自评量表SCL-90》与大模型的心理评估系统全解析.113
本项目将专业SCL-90心理量表与大模型深度融合,构建了一套全流程自动化评估系统:前端支持自适应填写与实时计算,后端基于常模数据校验并调用大模型生成通俗易懂、个性化的分析报告,兼顾科学性、可用性与隐私安全,助力企业、学校及个人高效开展心理健康筛查。
455 5
|
5月前
|
Web App开发 弹性计算 监控
tk矩阵系统自动化养号实战:Python脚本开发与阿里云部署指南
tk矩阵系统是跨境电商多账号高效管理的核心工具,其自动化养号能力直接决定账号存活率与运营效率。手动管理数十上百个账号不仅耗时耗力,还易因操作规律一致触发平台风控检测。本文基于Python与Selenium技术栈,系统讲解自动化养号脚本的完整开发流程,涵盖多账号隔离、真实行为模拟、设备指纹伪装、异常监控预警及阿里云ECS部署等核心模块,提供1700余行可直接运行的代码。本文仅用于技术学习交流,使用时请严格遵守平台用户协议与相关法律法规。
|
5月前
|
安全 Linux Windows
EFI 系统分区能删除吗?如何在 Windows 11/10 中删除 EFI 分区?
本文详解EFI系统分区的真相:它是什么、能否删除、如何安全判断及三种实操方法(DiskPart命令、DiskGenius图形工具、PE环境),助你精准清理冗余EFI分区,释放空间而不损启动。
|
8月前
|
人工智能 运维 API
零代码上手!阿里云计算巢部署OpenClaw全流程+Skills集成+百炼API配置及避坑全攻略
2026年,AI自动化办公进入规模化落地阶段,OpenClaw(前身为Clawdbot、Moltbot)作为轻量级开源AI代理平台,凭借“自然语言指令驱动、多工具协同、零编程门槛”的核心优势,成为个人与轻量团队解锁自动化办公的首选工具。它无需复杂操作,仅需输入日常口语化指令,就能自动完成文档整理、邮件处理、日程规划、代码生成、跨平台数据同步等重复性工作,堪称“7×24小时不下班的私人AI数字员工”,彻底解放双手、提升效率。
713 3
|
9月前
|
编解码
抖音弹幕游戏开发之第9集:pyautogui进阶 - 模拟鼠标操作·优雅草云桧·卓伊凡
《抖音弹幕游戏开发专栏》第9集详解pyautogui进阶用法:鼠标定位、移动(绝对/相对)、点击、拖拽、滚轮及键盘组合操作,并结合游戏视角旋转实战,附注意事项与代码示例。(238字)
576 4
|
11月前
|
canal Java 关系型数据库
|
存储 安全 数据安全/隐私保护
ERP系统的灾备与数据恢复:保障企业业务连续性
【7月更文挑战第29天】 ERP系统的灾备与数据恢复:保障企业业务连续性
867 2