IT博文
MySQL 事务隔离级别详解
使用 docker compose 安装 tidb
架构师日记-如何写的一手好代码
生产事故-记一次特殊的OOM排查
Docker安装RabbitMQ——基于docker-compose工具
使用 docker-compose 部署单机 RabbitMQ
只需3步,即刻体验Oracle Database 23c
长达 1.7 万字的 explain 关键字指南!
Redis为什么能抗住10万并发?揭秘性能优越的背后原因
深度剖析Redis九种数据结构实现原理
【绩效季】遇到一个好领导有多重要,从被打差绩效到收获成长
为什么Redis不直接使用C语言的字符串?
Java阻塞队列中的异类,SynchronousQueue底层实现原理剖析
如何调整和优化 Go 程序的内存管理方式?
应用部署引起上游服务抖动问题分析及优化实践方案
Java 并发工具合集 JUC 大爆发!!!
卷起来!!这才是 MySQL 事务 & MVCC 的真相。
JDK8 到 JDK17 有哪些吸引人的新特性?
告别StringUtil:使用Java 11的全新String API优化你的代码
从JDK8飞升到JDK17,再到未来的JDK21
Java JMH Benchmark Tutorial
linux和macOS下top命令区别
Windows10关闭Hyper-V的三种方法
为什么应该选择 POSTGRES?
阿里云对象存储 OSS 限流超过阈值自动关闭【防破产,保平安】
Java高并发革命!JDK19新特性——虚拟线程(Virtual Threads)
“请不要在虚拟机中运行此程序”的解决方案
Spring中的循环依赖及解决
浅谈复杂业务系统的架构设计 | 京东云技术团队
面试题:聊聊TCP的粘包、拆包以及解决方案
操作日志记录实现方式
字节跳动技术团队-慢 SQL 分析与优化
Spring Boot 使用 AOP 防止重复提交
Controller层代码就该这么写,简洁又优雅!
SpringBoot 项目 + JWT 完成用户登录、注册、鉴权
重复提交不再是问题!SpringBoot自定义注解+AOP巧妙解决
SpringBoot 整合 ES 实现 CRUD 操作
SpringBoot 整合 ES 进行各种高级查询搜索
SpringBoot操作ES进行各种高级查询
SpringBoot整合ES查询
如何做架构设计? | 京东云技术团队
最值得推荐的五个VPN软件(便宜+好用+稳定),靠谱的V2ray梯子工具
我说MySQL每张表最好不超过2000万数据,面试官让我回去等通知?
vivo 自研鲁班分布式 ID 服务实践
使用自带zookeeper超简单安装kafka
推荐 6 个很牛的 IDEA 插件
喜马拉雅 Redis 与 Pika 缓存使用军规
「程序员转型技术管理」必修的 10 个能力提升方向
jdk17 下 netty 导致堆内存疯涨原因排查 | 京东云技术团队
如何优雅做好项目管理?
MySQL 到 TiDB:Hive Metastore 横向扩展之路
聊聊即将到来的 MySQL5.7 停服事件
Linux终端环境配置
微软 Edge 浏览器隐藏功能一览:多线程下载、IE 模式、阻止视频自动播放等
Hutool 中那些常用的工具类和实用方法
clash 内核删库?汇总目前常用的内核仓库和客户端
JDK11 升级 JDK17 最全实践干货来了 | 京东云技术团队
我是如何写一篇技术文的?
虚拟线程原理及性能分析
Java线程池实现原理及其在美团业务中的实践
Editplus和EmEditor配置一键编译java运行环境
用Spring Boot 3.2虚拟线程搭建静态文件服务器有多快?
SpringBoot中使用LocalDateTime踩坑记录 - 程序员偏安 - 博客园
程序员必备!10款实用便捷的Git可视化管理工具 - 追逐时光者 - 博客园
基于Netty开发轻量级RPC框架
开发Java应用时如何用好Log
复杂SQL治理实践 | 京东物流技术团队
火山引擎ByteHouse:分析型数据库如何设计并发控制?
多次崩了之后,阿里云终于改了
推荐程序员必知的四大神级学习网站
初探分布式链路追踪
新项目为什么决定用 JDK 17了
Java上进了,JDK21 要来了,并发编程再也不是噩梦了
mapstruct这么用,同事也开始模仿
再见RestTemplate,Spring 6.1新特性:RestClient 了解一下!
【MySQL】MySQL表设计的经验(建议收藏)
如何正确地理解应用架构并开发
解读工行专利CN112905176B
工商银行取得「基于 Spring Boot 的 web 系统后端实现方法及装置」专利
IDEA 2024.1:Spring支持增强、GitHub Action支持增强、更新HTTP Client等
TIOBE 2 月:Go 首次进入前十、“上古语言” COBOL 和 Fortran 排名飙升
Java 21 虚拟线程如何限流控制吞吐量
🎉 通用、灵活、高性能分布式 ID 生成器 | CosId 2.6.6 发布
20年编程,AI编程6个月,关于Copliot辅助编码工具,你想知道的都在这里
Java 8 内存管理原理解析及内存故障排查实践
消息队列选型之 Kafka vs RabbitMQ
从 MongoDB 到 PostgreSQL 的大迁移
腾讯云4月8日故障复盘及情况说明
PHP 在 2024 年还值得学习吗?
AMD集显安装显卡驱动之后出现黑屏,建议这样解决
使用 Docker 部署 moments 微信朋友圈 - 谱次· - 博客园
Java 17 是最常用的 Java LTS 版本
盘点Lombok的几个骚操作
Llama 3 + Ollama + Open WebUI打造本机强大GPT
如何优雅地编写缓存代码
Gmeek快速上手
笔记软件思源远程和本地接入大语言模型服务Ollama实现AI辅助写作(Windows篇)
Git Subtree:简单粗暴的多项目管理神器
这款轻量级规则引擎,真香!!
Ollama教程:本地LLM管理、WebUI对话、Python/Java客户端API应用
GLM-4-9B支持 Ollama 部署
智谱AI开源代码生成大模型第四代版本:CodeGeeX4-ALL-9B
美团二面:如何保证Redis与Mysql双写一致性?连续两个面试问到了!
免费开源好用,Obsidian和Omnivore真正实现一键联动剪藏文章,手把手教程!
得物 Redis 设计与实践
架构图怎么画?手把手教您,以生鲜电商为例剖析业务/应用/数据/技术架构图
使用Hutool要注意了!升级到6.0后你调用的所有方法都将报错 - 掘金
别再用雪花算法生成ID了!试试这个吧
无敌的Arthas!
Navicat Premium v16、v17 破解激活
🎉 分布式接口文档聚合,Solon 是怎么做的?
深入体验全新 Cursor AI IDE 后,说杀疯了真不为过!
Nacos 3.0 架构全景解读,AI 时代服务注册中心的演进
本文档使用 MrDoc 发布
-
+
架构图怎么画?手把手教您,以生鲜电商为例剖析业务/应用/数据/技术架构图
作者:艾威培训 链接:https://www.zhihu.com/question/27440059/answer/3574051290 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 在TOGAF[企业架构理论](https://www.zhihu.com/search?q=%E4%BC%81%E4%B8%9A%E6%9E%B6%E6%9E%84%E7%90%86%E8%AE%BA&search_source=Entity&hybrid_search_source=Entity&hybrid_search_extra=%7B%22sourceType%22%3A%22answer%22%2C%22sourceId%22%3A3574051290%7D)中, 架构是从公司战略层面自上而下细化的过程,即从战略到业务架构,再到应用/数据/技术架构(俗称4A架构)。今天,小艾老师跟大家说说4A架构是什么、它们的关键要素、设计步骤以及架构图到底怎么来画。 本篇内容篇幅较长,不过全是些看似基础却极其“干”的干货,建议大家都收藏起来。看完后别忘记给小艾老师点个赞哟,爱你们,么么哒!部分图片可能较为复杂,也没那么高清,但不影响大家理解,看个意思就行。 --- **01** **业务架构:描绘企业的蓝图** 业务架构是企业架构的核心,能勾勒出企业的整体模样。它明确了企业的业务能力、流程、数据以及相互关系,也讲清了企业靠啥运作来达成战略目标。 **关键要素:** - 业务目标: 企业希望实现的长期和短期目标。 - 业务能力: 企业为实现其目标所需具备的能力,例如市场营销、销售、产品开发等。 - 业务流程: 完成特定任务的步骤序列,例如订单处理、客户服务等。 - 业务数据: 支持业务流程和决策所需的信息。 - 组织结构: 定义了企业的部门、角色和职责。 **设计步骤:** 1. 识别战略,走访业务部门,问卷调查 2. 外部因素,根据宏观背景(风口),行业空间(天花板),竞争情况(赛道),上下游产业链做规划 3. 内部因素,根据商业模式,技术壁垒和资源投入进行规划 **[业务架构图](https://www.zhihu.com/search?q=%E4%B8%9A%E5%8A%A1%E6%9E%B6%E6%9E%84%E5%9B%BE&search_source=Entity&hybrid_search_source=Entity&hybrid_search_extra=%7B%22sourceType%22%3A%22answer%22%2C%22sourceId%22%3A3574051290%7D)怎么画?** - 首先,明确业务的目标和范围。想想整个业务要达成什么,包括哪些部分。 - 然后,梳理业务流程。把业务从开始到结束的各个步骤按顺序画出来,像一条流水线一样。 - 接着,确定业务的组织架构,画出各项业务之间的关系。 - 再把业务的核心能力和资源标注出来。 - 在画图时,可以用不同的形状代表不同的元素,比如方框表示部门(业务),箭头表示流程方向。颜色也可以用来区分重要程度。 **举例说明:** 对于一个生鲜电商来说,其最核心的业务就是**销售、采购、生产基地以及供应链**这四个部分。业务架构需要定义商品分类、商品管理、订单流程、支付方式、物流配送运输等核心流程,还有采购、生产、销售、财务等各项过程的管理及考核等辅助流程。   生鲜电商核心业务流程(以电商销售为最核心的业务)   生鲜电商业务架构(基于CBM模型) --- **02** **应用架构:构建系统骨架** 应用架构定义了支持业务流程的应用程序和系统的结构和交互方式。它描述了应用程序的功能、接口和相互之间的依赖关系,并为应用程序的设计和开发提供指导。 简单来说,**就是应用太丰富了,需要整理整理。内部有哪些应用,怎么对外部提供服务。** **关键要素:** - 应用系统: 实现特定业务功能的软件系统,例如 CRM 系统、ERP 系统等。 - 应用接口: 不同应用系统之间进行数据交换的接口。 - 应用组件: 构成应用系统的模块化单元,例如用户界面、业务逻辑层、[数据访问层](https://www.zhihu.com/search?q=%E6%95%B0%E6%8D%AE%E8%AE%BF%E9%97%AE%E5%B1%82&search_source=Entity&hybrid_search_source=Entity&hybrid_search_extra=%7B%22sourceType%22%3A%22answer%22%2C%22sourceId%22%3A3574051290%7D)等。 - 应用集成: 将不同的应用系统连接起来,实现数据共享和流程协同。 **设计步骤:** 1. 根据业务架构图,做业务到IT的转换,识别应用程序和组件 (上接业务) 2. 优化应用程序和组件,该拆分就拆分,该聚合就聚合 (核心设计) 3. 设计应用与业务功能,流程,数据的关系(核心设计) 4. 设计应用集成,交互,开发 (下接开发) **应用架构图怎么画?** - 先搞清楚有哪些应用系统。比如[客户管理系统](https://www.zhihu.com/search?q=%E5%AE%A2%E6%88%B7%E7%AE%A1%E7%90%86%E7%B3%BB%E7%BB%9F&search_source=Entity&hybrid_search_source=Entity&hybrid_search_extra=%7B%22sourceType%22%3A%22answer%22%2C%22sourceId%22%3A3574051290%7D)、订单处理系统等等。 - 然后画出这些系统之间的关系。哪个系统给哪个系统提供数据,哪个系统调用哪个系统的功能。 - 还要标明每个系统的主要功能和模块。 - 对于系统之间的接口和数据交互,要用清晰的线条和标注表示出来。 **举例说明:** 基于上面的生鲜电商的业务架构的图。一般应用架构的层级是**应用域=>应用=>一级应用功能=>二级应用功能**。其中应用域和业务域未必是一一对应的,最后逻辑上的应用功能都会落地成IT系统上的系统功能(计算机世界)。   生鲜电商企业应用架构图   生鲜电商核心IT系统(功能)   应用架构图(示意图) --- **03** **数据架构:管理信息资产** 数据架构定义了企业数据的结构、存储、处理和访问方式。它确保企业数据的一致性、完整性、安全性和可访问性,并为数据管理和数据分析提供基础。 简单来说,**就是从数据侧描述数据怎么来、怎么存、怎么加工、怎么使用。** **关键要素:** - 数据模型: 描述数据的结构、属性和关系。 - 数据库: 存储数据的物理位置,例如[关系型数据库](https://www.zhihu.com/search?q=%E5%85%B3%E7%B3%BB%E5%9E%8B%E6%95%B0%E6%8D%AE%E5%BA%93&search_source=Entity&hybrid_search_source=Entity&hybrid_search_extra=%7B%22sourceType%22%3A%22answer%22%2C%22sourceId%22%3A3574051290%7D)、NoSQL 数据库等。 - [数据仓库](https://www.zhihu.com/search?q=%E6%95%B0%E6%8D%AE%E4%BB%93%E5%BA%93&search_source=Entity&hybrid_search_source=Entity&hybrid_search_extra=%7B%22sourceType%22%3A%22answer%22%2C%22sourceId%22%3A3574051290%7D): 用于存储和分析历史数据的集中式存储库。 - 数据集成: 将来自不同数据源的数据整合到一起。 - 数据治理: 定义数据管理的政策、流程和标准。 **设计步骤:** 1. 上接业务,分析数据需求,识别数据类型,采集数据 2. [数据模型设计](https://www.zhihu.com/search?q=%E6%95%B0%E6%8D%AE%E6%A8%A1%E5%9E%8B%E8%AE%BE%E8%AE%A1&search_source=Entity&hybrid_search_source=Entity&hybrid_search_extra=%7B%22sourceType%22%3A%22answer%22%2C%22sourceId%22%3A3574051290%7D),概念模型(识别业务域),逻辑模型(实体关系ER),物理模型(表字段) 3. 数据治理,数据安全合规,数据质量管理 4. 数据共享开放,支撑业务决策,业务创新 **数据架构图怎么画?** - 第一步,确定有哪些数据。比如客户数据、订单数据、产品数据等。 - 接着,画出数据的存储方式。是存在数据库里,还是数据仓库,或者是文件系统。 - 然后展示数据的流向。哪些数据从哪里产生,到哪里去,经过哪些处理。 - 还要考虑数据的整合和共享,哪些数据可以在多个系统中使用。 **举例说明:** 生鲜电商的核心数据是营销系统(电商前台)的商品数据及订单数据,CRM系统的用户数据,ERP系统的采购仓储供应链数据等。数据架构需要定义这些数据的结构和存储方式,以及如何进行数据备份、数据恢复、数据安全等方面的管理。   生鲜电商平台的数据主题域   生鲜电商数据模型视图   数据架构图(示意图) --- **04** **技术架构:提供技术支撑** 技术架构定义了实现应用架构和数据架构所需的硬件、软件、网络和其他技术组件。它为应用程序和数据的运行提供基础设施和技术支持,并确保系统的性能、安全性、可靠性和可扩展性。 简单来说,**就是每一层,我们都用什么组件、什么技术解决什么问题。** **关键要素:** - 硬件平台: 服务器、存储设备、网络设备等。 - 软件平台: 操作系统、[数据库管理系统](https://www.zhihu.com/search?q=%E6%95%B0%E6%8D%AE%E5%BA%93%E7%AE%A1%E7%90%86%E7%B3%BB%E7%BB%9F&search_source=Entity&hybrid_search_source=Entity&hybrid_search_extra=%7B%22sourceType%22%3A%22answer%22%2C%22sourceId%22%3A3574051290%7D)、中间件等。 - 网络架构: [网络拓扑](https://www.zhihu.com/search?q=%E7%BD%91%E7%BB%9C%E6%8B%93%E6%89%91&search_source=Entity&hybrid_search_source=Entity&hybrid_search_extra=%7B%22sourceType%22%3A%22answer%22%2C%22sourceId%22%3A3574051290%7D)、网络协议、网络安全等。 - 安全架构: 身份验证、授权、加密、审计等。 **设计步骤:** 1. 根据应用架构,进行技术支撑分析,识别技术支撑的必要条件 2. 技术选型,包括开发架构,技术产品,开发技术栈,开发平台,运行平台 3. 技术影响分析,成本,难易度,规划,治理 **技术架构图怎么画?** - 先列出用到的技术组件,比如服务器、数据库、中间件等。 - 画出这些组件的部署方式。是集中式部署,还是分布式部署。 - 标明组件之间的连接和通信方式。 - 还要考虑技术的分层,比如展示出前端、后端、数据层等。 - 可以用不同的图形代表不同的技术组件,比如服务器用长方形,数据库用圆柱体。 **举例说明:** 技术架构需要选择合适的服务器、数据库、缓存、[消息队列](https://www.zhihu.com/search?q=%E6%B6%88%E6%81%AF%E9%98%9F%E5%88%97&search_source=Entity&hybrid_search_source=Entity&hybrid_search_extra=%7B%22sourceType%22%3A%22answer%22%2C%22sourceId%22%3A3574051290%7D)等技术组件,并搭建高可用、高性能、安全的系统架构。   生鲜电商的技术能力图   技术架构图(示意图 注意:文中所有示意图采自互联网,仅用作举例,方便大家理解。所有举例用的业务、应用、数据、技术架构图及具体功能,均未写全。如涉及版权,请联系我们,我们将对示意图进行修改或删除。 --- **05** 以上是有关 4A 架构的一些基础内容与示例。如果想要掌握更多各类架构图的绘制方法,或者更深入地学习企业架构、业务架构方面的知识和技能,小艾老师推荐大家参加**TOGAF[企业架构师](https://www.zhihu.com/search?q=%E4%BC%81%E4%B8%9A%E6%9E%B6%E6%9E%84%E5%B8%88&search_source=Entity&hybrid_search_source=Entity&hybrid_search_extra=%7B%22sourceType%22%3A%22answer%22%2C%22sourceId%22%3A3574051290%7D)认证培训** 或者 **CBA[业务架构师](https://www.zhihu.com/search?q=%E4%B8%9A%E5%8A%A1%E6%9E%B6%E6%9E%84%E5%B8%88&search_source=Entity&hybrid_search_source=Entity&hybrid_search_extra=%7B%22sourceType%22%3A%22answer%22%2C%22sourceId%22%3A3574051290%7D)认证培训**。 最后给大家附上关于**TOGAF认证和CBA认证**的知识脑图,对这两门课程有进一步了解需求的欢迎评论区留言或者私信咨询**~~**    
admin
2024年7月26日 22:41
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
PDF文档(打印)
分享
链接
类型
密码
更新密码