4种架构的定义和关联
文章目录
- **1. 各架构的定义**
- **业务架构(Business Architecture)**
- **应用架构(Application Architecture)**
- **数据架构(Data Architecture)**
- **技术架构(Technology Architecture)**
- **2. 四者的核心关系**
- **(1)自上而下的驱动关系**
- **(2)应用架构是业务与技术的桥梁**
- **(3)数据架构贯穿全流程**
- **(4)技术架构是底层支撑**
- **3. 四层架构的协作模式**
- 参考
1. 各架构的定义
业务架构(Business Architecture)
- 核心:定义组织的业务目标、流程、角色、能力和价值链。
- 关注点:“做什么” 和 “为什么做”。例如,电商企业的业务架构可能包括采购、销售、物流、客服等核心业务流程。
- 组成:
- 价值模型。由于业务架构承载了企业战略的实现思路,因此需要通过价值模型将这个价值链路呈现出来
- 服务蓝图。进一步展开价值模型,即考虑企业最终实现这个价值所需要的实体。这些实体可以包括人员、生产机器、工具和软件系统等。
- 业务流程图。对服务蓝图中业务功能的展开描述
- 领域模型。DDD设计
价值模型 | 服务蓝图 | 业务流程图 |
---|---|---|
![]() | ![]() | ![]() |
应用架构(Application Architecture)
- 核心:设计支撑业务需求的软件系统和应用间的交互。
- 关注点:“用什么系统实现业务”。例如,电商系统可能包含前端商城、订单系统、库存管理系统等。
- 组成
- 应用分层图。应用或者微服务粒度,而并非功能模块粒度,同一个层次上的粒度相同
- 应用交互关系图。要体现出交互方式和交互数据。要注意交互的方向,通常只能是上层应用调用下层应用
应用分层图 | 应用交互关系图 |
---|---|
![]() | ![]() |
数据架构(Data Architecture)
- 核心:规划数据的产生、存储、流动、治理和使用。
- 关注点:“数据如何支撑业务和应用”。例如,用户信息、订单数据、库存数据的存储、集成与分析。
- 组成:ER模型、数据分布视图、数据流转视图和数据集成视图
数据分布视图 | 数据流转视图 | 数据集成视图 |
---|---|---|
![]() | ![]() | ![]() |
技术架构(Technology Architecture)
- 核心:选择底层技术基础设施和工具,确保系统稳定、可扩展和安全等非功能需求
- 关注点:“如何用技术实现系统”。例如,选择云平台、微服务框架、数据库技术等。
项目 | Value | d |
---|---|---|
![]() | ![]() | ![]() |
2. 四者的核心关系
(1)自上而下的驱动关系
- 业务架构是起点:业务需求驱动应用、数据和技术架构的设计。
举例:电商业务需要“快速交付”,驱动应用架构设计订单处理系统,数据架构设计实时库存数据库,技术架构选择低延迟的云服务。
(2)应用架构是业务与技术的桥梁
- 应用架构将业务需求转化为具体的系统功能,同时依赖技术架构实现。
举例:业务要求“个性化推荐”,应用架构需设计推荐引擎,技术架构需支持大数据计算(如Spark)。
(3)数据架构贯穿全流程
- 数据是业务的核心资产,支撑应用运行和技术实现。
举例:用户行为数据(数据架构)用于推荐系统(应用架构),依赖分布式存储(技术架构)支持高并发查询。
(4)技术架构是底层支撑
- 为应用和数据架构提供基础设施,如云计算、容器化、数据库引擎等。
举例:微服务架构(技术架构)支持应用模块化开发(应用架构),同时依赖API网关管理数据流动(数据架构)。
3. 四层架构的协作模式
- 业务架构:定义方向(Why & What)。
- 应用架构:设计功能(How to Support)。
- 数据架构:提供燃料(Data Flow)。
- 技术架构:夯实基础(Technical Enabler)。
四者形成闭环:业务需求驱动应用和数据设计,技术实现支撑应用和数据运行,最终反哺业务创新。实际项目中需通过迭代优化,确保四层架构的动态适配。
参考
- 架构师启示录:知识模型、落地方法与思维模式
- deepseek
相关文章:

4种架构的定义和关联
文章目录 **1. 各架构的定义****业务架构(Business Architecture)****应用架构(Application Architecture)****数据架构(Data Architecture)****技术架构(Technology Architecture)*…...

109,【1】攻防世界 web 题目名称-文件包含
进入靶场 直接显示源代码 提示我们通过get方式传递名为filename的参数,同时给出了文件名check.php filenamecheck.php 显示使用了正确的用法,错误的方法 filename./check.php 还是一样的回显 傻了,题目名称是文件包含,需要用到…...
leetcode90 子集II
1. 题意 给一个可能含有重复元素的数组,求这个数组的所有子集。 2. 题解 跟leetcode 72 子集的差别在于,我们需要将重复的元素给去掉。那如何去重呢,实际上我们可以先排序将重复的元素给放在一起。然后在回溯后,找到下一个不与…...
DeepSeek模型构建与训练
在完成数据预处理之后,下一步就是构建和训练深度学习模型。DeepSeek提供了简洁而强大的API,使得模型构建和训练变得非常直观。无论是简单的全连接网络,还是复杂的卷积神经网络(CNN)或循环神经网络(RNN),DeepSeek都能轻松应对。本文将带你一步步构建一个深度学习模型,并…...
PyTorch torch.unbind、torch.split 和 torch.chunk函数介绍
pytorch中 torch.unbind、torch.split 和 torch.chunk等函数可用于张量的拆分操作。 1. torch.unbind 功能说明: torch.unbind 沿指定的维度将张量“解包”为多个张量,返回一个元组。解包后被操作的那个维度会消失,每个输出张量的维度数会比…...
【愚公系列】《循序渐进Vue.js 3.x前端开发实践》061-Vue Router的动态路由
标题详情作者简介愚公搬代码头衔华为云特约编辑,华为云云享专家,华为开发者专家,华为产品云测专家,CSDN博客专家,CSDN商业化专家,阿里云专家博主,阿里云签约作者,腾讯云优秀博主&…...

杭州某小厂面试
问的都是基础知识,主要是三个部分:计网,数据库,java。计网答得挺好,数据答得一般,Java答得一坨。 目录 1.TCP/IP协议的5层模型 2.3次握手和4次挥手 3.操作系统中的进程和线程的区别 4.lunix top 命令看…...

C基础寒假练习(8)
一、终端输入10个学生成绩,使用冒泡排序对学生成绩从低到高排序 #include <stdio.h> int main(int argc, const char *argv[]) {int arr[10]; // 定义一个长度为10的整型数组,用于存储学生成绩int len sizeof(arr) / sizeof(arr[0]); // 计算数组…...
设计模式 ->模板方法模式(Template Method Pattern)
模板方法模式 模板方法模式是一种行为设计模式,它在一个方法中定义一个操作的算法骨架,而将一些步骤延迟到子类中实现。它允许子类在不改变算法结构的情况下重新定义算法中的某些步骤 特点 算法骨架: 在基类中定义算法的框架延迟实现&…...

Redis存储⑤Redis五大数据类型之 List 和 Set。
目录 1. List 列表 1.1 List 列表常见命令 1.2 阻塞版本命令 1.3 List命令总结和内部编码 1.4 List典型使用场景 1.4.1 消息队列 1.4.2 分频道的消息队列 1.4.3 微博 Timeline 2. Set 集合 2.1 Set 集合常见命令 2.2 Set 集合间命令 2.3 Set命令小结和内部编码 2.…...
MySQL开窗函数种类和使用总结
在 MySQL 中,开窗函数(Window Functions) 是一种强大的功能,能够在数据分析和聚合时提供灵活的方式。开窗函数在 MySQL 8.0 及以上版本 中引入,可以基于数据的某个分组(窗口)来执行计算…...

DeepSeek——DeepSeek模型部署实战
摘要 文章主要介绍了DeepSeek大模型的本地部署方法、使用方式以及API接入相关内容。首先指出可通过下载Ollama来部署DeepSeek-R1模型,并给出了模型不同参数版本及存储信息。接着说明了如何通过Chatbox官网下载并接入DeepSeek API,以及如何接入本地部署模…...
zsh: command not found: pip
当你在终端输入 pip install ipykernel 时出现 zsh: command not found: pip 错误,这表明系统无法找到 pip 命令,下面为你详细分析可能的原因以及对应的解决办法。 可能的原因 Python 未安装:pip 是 Python 的包管理工具,若你的…...
机器学习数学基础:16.方程组
一、方程组基础概念 (一)定义 方程组是由若干个包含未知数的方程组合而成的集合。例如, { 3 x 2 y − z 7 2 x − y 3 z 5 x 4 y − 2 z 3 \begin{cases}3x 2y - z 7\\2x - y 3z 5\\x 4y - 2z 3\end{cases} ⎩ ⎨ ⎧3x2y−z7…...
即梦(Dreamina)技术浅析(四):生成对抗网络
即梦(Dreamina) 的生成对抗网络(GAN,Generative Adversarial Network)技术是其核心功能之一,用于生成高质量的图像、文本和视频内容。GAN 是一种深度学习模型,由生成器(Generator)和判别器(Discriminator)两部分组成,通过对抗训练的方式不断提升生成内容的质量。 …...

2025年软件测试五大趋势:AI、API安全、云测试等前沿实践
随着软件开发的不断进步,测试方法也在演变。企业需要紧跟新兴趋势,以提升软件质量、提高测试效率,并确保安全性,在竞争激烈的技术环境中保持领先地位。本文将深入探讨2025年最值得关注的五大软件测试趋势。 Parasoft下载https://…...
Vue混入(Mixins)与插件开发深度解析
Vue混入(Mixins)与插件开发深度解析 Vue混入(Mixins)与插件开发深度解析1. Vue混入(Mixins)核心概念1.1 什么是混入1.1.1 本质定义与技术定位1.1.2 混入与相关概念的对比1.1.3 适用场景分析1.1.4 设计哲学与…...

【C++】C++11
目录 C11简介 统一的列表初始化 {}初始化 std::initializer_list 声明 auto decltype nullptr 范围for循环 智能指针 STL中的一些变化 右值引用和移动语义 左值引用和右值引用 右值引用的意义 完美转发 lambda表达式 新的类功能 可变参数模版 包装器 func…...

k8sollama部署deepseek-R1模型,内网无坑
这是目录 linux下载ollama模型文件下载到本地,打包迁移到k8s等无网络环境使用下载打包ollama镜像非k8s环境使用k8s部署访问方式非ollama运行deepseek模型linux下载ollama 下载后可存放其他服务器 curl -L https://ollama.com/download/ollama-linux-amd64.tgz -o ollama-linu…...
mysql8 C++源码中创建表函数,表字段最大数量限制,表行最大存储限制
在 MySQL 8 的 C 源码中,表的最大字段数量限制体现在 MAX_FIELDS 宏定义中。这个宏定义了表中可以拥有的最大字段数量。 代码中的体现 在 mysql_prepare_create_table 函数中,有以下代码段检查表的字段数量是否超过最大限制: cpp if (alt…...

硬件学习笔记--64 MCU的ARM核架构发展及特点
MCU(微控制器)的ARM核架构是当前嵌入式系统的主流选择,其基于ARM Cortex-M系列处理器内核,具有高性能、低功耗、丰富外设支持等特点。以下是ARM核MCU的主要架构及其发展: 1. ARM Cortex-M系列内核概览 ARM Cortex-M系…...
本地部署AI工作流
🧰 主流 RAG / 工作流工具对比表(含是否免费、本地部署支持与资源需求) 工具名类型是否支持 RAG可视化目标用户是否免费支持本地部署本地部署一般配置Dify企业级问答系统平台✅✅非技术 & 企业用户✅ 免费版 商业版✅ 支持2C4G 起&…...

日志技术-LogBack、Logback快速入门、Logback配置文件、Logback日志级别
一. 日志技术 1. 程序中的日志,是用来记录应用程序的运行信息、状态信息、错误信息等。 2. JUL:(java.util.logging)这是JavaSE平台提供的官方日志框架,也被称为JUL。配置相对简单,但不够灵活,性能较差。 3.Logs4j&…...
ubuntu mysql 8.0.42 基于二进制日志文件位置和GTID主从复制配置
目录 1 操作系统信息 2 MySql数据库版本 3 主机列表 4 MySQL服务器都安装依赖 5 主库服务器安装mysql软件步骤: 6 从服务器安装mysql软件步骤 7 基于二进制日志文件位置的主从复制配置 8 使用全局事务标识符进行主从复制(GTID) 9 部署过程遇到问题 1 操作系…...

木愚科技闪亮第63届高博会 全栈式智能教育解决方案助力教学升级
5月23日,第63届高等教育博览会在长春东北亚国际博览中心开幕,木愚科技积极筹备,奔赴展会现场。彼时,木愚科技企业领导及相关职能部门负责人亲临展位指导工作,通过特装展位、资料发放及现场交流等方式,全方位…...

尚硅谷redis7 86 redis集群分片之3主3从集群搭建
86 redis集群分片之3主集群搭建 3主3从redis集群配置 找3台真实虚拟机,各自新建 mķdir -p /myredis/cluster 新建6个独立的redis实例服务 IP:192.168.111.175端口6381/端口6382 vim /myredis/cluster/redisCluster6381.conf bind 0.0.0.0 daemonize yes protected-mode no …...
gbase8s数据库+mybatis问题记录
在实际使用中一般都是mybatis数据库连接池组合使用,单独使用mybatis 连接数据库时,在循环使用PreparedStatement 时 会发生内存泄漏,PreparedStatement资源得不到释放 测试代码片段如下 drawMapper sqlsession.getMapper(DrawMapper.class…...
【leetcode】704. 二分查找
二分查找 题目代码 题目 704. 二分查找 给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。 示例 1: 输入: nums [-1,0,3,…...

LiveWallpaperMacOS:让你的 Mac 桌面动起来
随着桌面美化需求的不断提升,用户对于桌面壁纸的要求已经不再局限于静态图片。越来越多的 Mac 用户希望桌面能像 Windows 一样,拥有动态壁纸,展现个性、提升体验。LiveWallpaperMacOS 正是这样一款让你的 Mac 桌面焕发活力的开源项目。 本文将详细介绍 LiveWallpaperMacOS …...

【笔记】suna部署之获取 Tavily API key
#工作记录 Tavily 注册 Tavily 账号5: 打开浏览器,访问 Tavily 官网Tavily AI。点击页面上的 “注册” 按钮,按照提示填写注册信息,如邮箱地址、设置密码等,完成注册流程。也可以选择使用 Google 或 GitHub 账号授权登…...