应用架构图

简介: 本文介绍应用架构图的设计方法,涵盖单体与分布式架构。从展现层、业务层、数据层到基础层,分层解析技术实现,并说明应用间及外部系统的调用关系,明确系统边界,为技术方案落地提供清晰蓝图。(239字)

应用架构图

在上一节有了业务架构的基础之上,当我们需要落地具体的技术方案时,此时就需要技术人员开始考虑技术架构了。技术架构是应接应用架构的技术需求,并根据识别的技术需求,进行技术选项,把各个关键技术和技术之间的关系描述清楚。
基础结构解决的主要问题包括:如何进行技术层面的分层、开发框架的选择、开发语言的选择、涉及非功能性需求的技术选择。由于应用架构体系是分层的,那么对应的技术架构体系自然也是分层的。大的分层有微服务架构分层模型,小的则是单个应用的技术分层框架。大的技术体系考虑清楚后,剩下问题就是根据实际业务考虑选择具体的技术点。各个技术点的分析、方案选择,最终形成关键技术清单,关键技术清单应考虑架构本身的分层逻辑,最终形成一个完整的技术架构图。
简而言之,技术架构试讲产品需求转变为技术实现的过程。

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

PRESENTATION LAYER

COMMON

BUSINESS LAYER

LAYER

DATA LAYER

DB

DB

DB


展现层
展现层是整个应用面向用户的入口,用户通过展现层实现与系统的交互。展现层为用户提供系统功能的操作、系统数据的展现。展现层按照面向的用户类型提供不同的交互服务。例如在业务场景中,用户有实操层用户、管理层用户、决策层用户。针对不同层级的用户,系统所提供的功能是不相同:
面向实操层用户,提供的是对系统的操作功能,满足业务日常运营。往往更多的是执行具体操作。
面向管理层用户,满足管理者的日常管理需求,通常提供经营数据、日常管理数据、团队业务数据等等。通过数据分析,改善日常运营的流程。
面向决策层用户,这一层的用户不需要太细的数据,为其提供企业的经营诊断数据和报告,辅助决策支持。
业务层
业务层是应用为解决业务需求,按照产品架构中的功能模块进行细化。业务层是对将产品层从粗到细的分解过程。这个过程是对业务的细化过程,把项目要交付的模块细分到最基本的单元。最基本单元是实现日常业务操作的最细粒度的功能点。由此,我们能够得到实现业务逻辑的全功能结构。
数据层
数据层按照应用的数据模型分别进行存储。这里的存储介质包含关系型数据库、NoSQL、分布式文件系统。
基础层
通用基础层是为系统提供通用能力的中间件,比如流程引擎、消息中间件、缓存、搜索引擎等等。这些中间件和业务是无相关性的,提供的是通用的基础技术能力。
基于上述分析,我们可以得到一个如下单体应用的技术架构:

通用基础层

决策层门户

管理层门户

小二门户

展现层

流程引擎

消息引擎

分析管理

事件管理

处置管理

告警管理

搜索引擎

诊断分析

事件模型

人工处置

告警级别

业务层

缓存

告警配置

自动处置

事件列表

处置分析

事件搜索

经验库

告警升级

处置人管理

消息中间件

定时任务引擎

数据层

事件数据

处置日志数据

分析数据

流程数据

权限

ODPS

HBASE

DB


分布式应用架构
分布式应用架构图实质是产品内部所有应用在分布式环境下的调用关系图。各应用间通过服务的形式相互调用,这是典型的 SOA 架构。在应用架构图中,SOA 架构中的服务注册、服务治理、服务发现这些 RPC 框架的基础平台功能不用在应用架构中体现。
应用架构图的重点是体现应用之间的逻辑关系和通信关系,体现产品的内部关系和外部关系。内部关系是产品内各应用的调用关系;外部关系展现的是产品与外部系统间的调用关系。将应用的内外关系呈现在应用架构中,产品在整个业务中的定位和影响将变得清晰。
应用间调用关系
在产品内部的各子系统之间,为了解决业务需求,通过应用之间的服务调用或者异步消息调用产生数据关系。通过产品架构图中得到的应用系统划分,按照系统间的调用关系,形成内部应用的集成架构图。在应用集成架构图中,需要标注调用链路中的业务含义,清楚的标注应用之间发生的业务关系。


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


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

离线数据来源

风险事件来源系统

支付系统

采购系统

供应链金融系统

财务系统

结算离线数据

采购离线系统

资金离线数据

仓储离线数据

HSF/METAG

HSF |阻断/反馈

SAPO

业务数据

业务数据

HSF

HSF

规则中心

风控实时引擎

风控离线引擎

规则校验

规则校验

HSF/METAG

外部依赖系统

DATAX

风险事件

处置中心

权限系统

风险事件

HSF

HSF

获取基础信息

图例

通知中心

会员系统

告警信息

风险数据

数据输入系统

仓储系统

风控生产系统

数据分析系统

配送系统

外部依赖系统

客服系统

风控输出系统

运营平台


3 人点赞

3


相关文章
|
2月前
|
消息中间件 人工智能 NoSQL
RocketMQ:A2A协议实现多智能体优化
Apache RocketMQ推出LiteTopic轻量级通信模型,结合A2A协议与AgentScope框架,为多智能体系统提供高可靠、低延迟的异步通信方案,支持会话持久化、断点续传与动态协同,助力AI应用构建稳定高效的协作基座。
 RocketMQ:A2A协议实现多智能体优化
|
2月前
|
Java 开发工具 数据安全/隐私保护
项目《中州养老》
项目《中州养老》是一个面向养老院的后台管理系统,涵盖员工管理端与家属小程序端,实现预约、入住、健康监测等全流程管理。系统采用SpringBoot+Vue3技术栈,集成Redis缓存、阿里云IoT平台与OSS存储,支持智能设备数据采集与实时报警,提升养老管理智能化水平。
 项目《中州养老》
|
2月前
|
人工智能 JSON 数据挖掘
大模型应用开发中MCP与Function Call的关系与区别
MCP与Function Call是大模型应用开发中的关键技术。前者为跨模型工具调用提供标准化协议,实现解耦与兼容;后者是模型调用外部功能的内置机制。二者互补,共同构建“意图解析-协议传输-工具执行”的分层架构,推动AI应用生态发展。
|
2月前
|
人工智能 自然语言处理 API
全面认识MCP:大模型连接真实世界的“USB-C接口”
MCP(模型上下文协议)是Anthropic推出的开放标准,被誉为AI时代的“USB-C接口”,旨在统一大模型与外部工具、数据源的连接方式。它通过标准化通信,让AI智能体能高效调用天气、数据库等各类工具,打破“工具孤岛”,简化开发流程,推动AI应用从对话走向真实世界任务执行,加速构建安全、可扩展的智能生态。
|
2月前
|
数据采集 领域建模 数据库
领域模型图(数据架构/ER图)
本文介绍通过四色原型法构建领域模型并生成ER图的过程。运用MI(时标)、PPT(参与方-地点-物品)、Role(角色)和DESC(描述)四种原型,逐步抽象风控系统的业务流程,提炼实体与关系,最终形成数据架构中的ER图,为数据库设计提供基础支撑。(238字)
|
2月前
|
消息中间件 监控 Java
RocketMQ:底层Netty频繁OS OOM
本文分析了一起RocketMQ应用因Netty频繁申请堆外内存导致OS OOM的问题。根本原因是多个ClassLoader加载了多个PooledByteBufAllocator实例,各自独立占用堆外内存,突破JVM的MaxDirectMemorySize限制。结合Arthas、NMT等工具深入排查,最终定位到rocketmq-client实例占用近1G堆外内存。建议短期调小Java堆以腾出空间,长期优化Netty内存使用与类加载机制。
 RocketMQ:底层Netty频繁OS OOM
|
2月前
|
Java Linux Apache
Docker
本文介绍Docker基础知识与实战操作,涵盖镜像打包、容器运行、日志查看及Dockerfile编写等内容,帮助开发者快速掌握Docker核心技能并实现Java项目容器化部署。
Docker
|
2月前
|
运维 Devops 开发工具
生产环境缺陷管理
针对大型团队多分支开发中bug管理难题,我们基于go-git打造了自动化工具git-poison,实现bug的分布式追溯与发布卡点。通过“投毒-解毒”机制,精准识别未修复或漏合的bug,阻塞高风险发布,降低协同成本,避免人为疏漏导致的生产事故,提升研发效能与系统稳定性。
|
2月前
|
uml C语言
系统时序图
时序图(Sequence Diagram)是UML中描述对象间消息传递时间顺序的交互图。横轴为对象,纵轴为时间,通过生命线、控制焦点和消息展示动态协作过程,强调交互的时间顺序,适用于建模并发行为与系统流程。
系统时序图
|
2月前
|
Kubernetes NoSQL 应用服务中间件
物理部署图
物理部署图描述系统运行时的硬件与软件部署结构,展现节点、构件、物件及连接关系,帮助理解分布式系统的运维架构,是实现应用与基础设施协同运行的重要视图。
物理部署图