什么是架构?架构的本质和作用!
提起企业架构很多朋友都不明白其与数字化转型之间的关系,其实可以这样了解:将数字化转型的本质当成技术对业务的重塑,那么为了达到重塑的目标,就需要企业具备数字化的核心力量。而企业架构就相当于技术实现与业务模式之间的桥梁,可以帮助提高数字化转型的核心力量,因此企业架构在数字化转型中承担着非常重要的助力作用。下面我们来聊聊架构。
1、什么是架构和架构本质
架构一个系统在其所处环境中所具备的各种基本概念和属性,具体体现为其所包含的各个元素、他们之间的关系以及架构的设计和演进原则之中。
架构的本质就是对系统进行有序化地重构以致符合当前业务的发展,并可以快速扩展。
2、企业架构和系统架构
架构从应用上可以分为企业架构和系统架构。
企业架构(Enterprise Architecture)是记录企业内所有信息系统、它们的相互关系以及它们如何完成企业使命的蓝图,是企业关注点。
系统构架是对已确定的需求的技术实现构架、作好规划,运用成套、完整的工具,在规划的步骤下去完成任务,是系统关注点。
3、架构的作用
复杂的软件项目通常有两个明显的特征:需求不确定和技术复杂。需求不确定来自于客户,而技术的复杂性主要体现在需求让技术变复杂、技术本身也是复杂的、要让软件稳定运行是复杂的。这些技术的复杂性,会导致软件开发变得复杂,开发成本很高,架构设计恰恰可以很好解决技术复杂的问题。首先,架构可以降低满足需求和需求变化的开发成本。其次,架构可以帮助组织人员一起高效协作。再次,架构可以帮助组织好各种技术。最后,架构可以保障服务稳定运行。
4、什么是视角和视图
视角(Viewpoint):一个针对某视图所采用的观察角度的定义,是构建和使用某视图的规约的描述(通常采用一个适当的模式或模版的形式)。通俗的说,视图描述了所看到的内容;而视角则描述了站在何处进行观察——一个能够决定你所能看到的事物的制高点或角度。
视图(View):针对一系列相互关联的关注点的表达。一个视图描述了采用某个视角后所看到的事物。架构视图可以通过模型来进行表述,从而为不同的干系人根据各自针对架构的关注点而分别提供描述。一个视图从本质上讲不一定以可视化或图形化的方式进行展示。
5、常用的架构视图
业务架构:核心是解决业务带来的系统复杂性,了解客户/业务方的痛点,项目定义,现有环境;梳理高阶需求和非功能性需求,进行问题域划分与领域建模等工作;沟通,方案建议,多次迭代,交付总体架构。
应用架构:描述了IT系统功能和技术实现的内容,应用架构分为企业级应用架构和系统级应用架构。
逻辑架构:逻辑架构关注的是功能,包含用户直接可见的功能,还有系统中隐含的功能。
数据架构:更关注的是数据持久化和存储层面的问题,也可能会包括数据的分布、复制、同步等问题。
物理架构:关注软件元件如何部署到硬件上,专注于系统、网络、服务器等基础设施。
开发架构:开发架构则更关注程序包,不仅仅是我们自己写的程序,还包括应用程序依赖的SDK、第三方类库、中间价等。
运行架构:关注的是应用程序运行中可能出现的一些问题。例如并发带来的问题,比较常见的“线程同步”问题、死锁问题、对象创建和销毁(生命周期管理)问题等等。
6、架构与中台、微服务和DDD关系
中台就是通过可复用的应用架构设计来支撑易变复杂的数字化业务。中台解决的是企业层面的能力重用问题,本质上中台是企业架构中的应用架构或业务架构。
微服务就是将一个单体架构的应用按业务划分为一个个的独立运行的程序即服务,它们之间通过 HTTP 协议进行通信(也可以采用消息队列来通信,如 RoocketMQ,Kafaka 等),可以采用不同的编程语言,使用不同的存储技术,自动化部署(如 Jenkins)减少人为控制,降低出错概率。微服务解决了系统的拆分和重组问题,为系统水平拆分和垂直拆分提供理论方法,属于系统架构中应用架构的范畴。
DDD(领域驱动设计),它是对面向对象的的分析和设计的一个补充,对技术框架进行了分层规划,同时对每个类进行了策略和类型划分。领域模型是领域驱动的核心,采用DDD的设计思想,业务逻辑不再集中在几个大型的类上,而是在大量相对小的领域对象上,这些类具有自己的状态和行为,每个类都是完成的独立的,并与现实领域的业务对象形成一种映射。基于DDD的架构设计,保证了系统的可维护性,扩展性和敏捷性,在处理复杂业务逻辑方面有着明显的优势。DDD解决了微服务内模据拆分和设计问题,属于系统详细设计方法的范畴。
7、小结
本篇文章主要分享了架构领域的基本概念,如想系统了解架构理论建议研究TOGAF模型,架构理论指导我们如何解决问题的、用到哪些方法,不断地积累这些方法,形成通用的架构设计方案,在实际的工作中,遇到类似的场景时,可以选择合适的方案来解决实际问题。同时也简单介绍了中台、微服务和DDD,与架构的关系。
什么是架构?架构的本质和作用!相关推荐
- 一篇文章了解架构设计的本质
" 大型网站的架构设计,涉及到的面非常多,并不像大家想象的那样,就是一个网站这么简单,今天抛砖引玉,希望大家正确看待架构设计. 什么是架构设计的本质? 任何系统,自然情况下,都是从有序到无序 ...
- 整洁架构设计分析--架构设计的本质是什么?
整洁架构算是计算机领域里必读的经典书籍之一啦,网上零零散散有些相关的阅读笔记和经验总结.最近Go 招聘的号主卷神博大也在开始分享这方面的内容,还分析各个大佬的阅读笔记.关于书中一直在提到的架构设计的本 ...
- 【Docker架构架构角色概念角色作用】
一.知识回顾 之前的内容都帮你整理好了,在这里哟! [0.Docker相关目录文章整理,可自行查看,包含多节内容] [1.Docker详细安装部署&阿里镜像地址配置] 二.Docker架构 D ...
- 现代IM系统中的消息系统架构 - 架构篇
前言 IM全称是『Instant Messaging』,中文名是即时通讯.在这个高度信息化的移动互联网时代,生活中IM类产品已经成为必备品,比较有名的如钉钉.微信.QQ等以IM为核心功能的产品.当然目 ...
- 从零开始学架构——架构设计流程
架构设计流程 结合复杂度来源和架构设计原则,通过一个模拟的设计场景"前浪微博",和你一起看看在实践中究竟如何进行架构设计. 架构设计第1步:识别复杂度 架构设计的本质目的是为了解决 ...
- 基础架构-架构理论简析
基础架构-架构理论简析 01 | 导读 1.深究"架构"到底指什么,需要了解以下几个问题 1)系统与子系统 2)模块与组件 3)框架与架构 02 | 系统与子系统 1.定义 1)系 ...
- lnmp架构——架构理解
lnmp架构--架构理解 1 lnmp简介 2 lnmp工作原理 3 lnmp特点 4 lamp与lnmp的区别 4.1 lamp简介 4.2 对比 1 lnmp简介 LNMP是指一组通常一起使用来运 ...
- ip和端口的本质与作用,网络协议栈
网络1 协议 定义 协议 ISO七层模型(网络模型,网络的分层模型) TCP/IP四层(或五层)模型 数据流向 ip.端口的本质和作用 一条网络数据在网络转发时,需要具备哪些条件? 网络协议栈在进行数 ...
- 什么是SAN网络?SAN网络上的存储备份和恢复怎么操作?SAN 测试网络存储与服务器架构架构优化
什么是SAN网络?SAN网络上的存储备份和恢复怎么操作?SAN 测试网络存储与服务器架构架构优化 SAN网络上的存储备份和恢复 我是驰网艾西今天跟大家聊聊什么是SAN网络? SAN(Storage A ...
最新文章
- 学废了!提高工作效率的五个步骤! | 每日趣闻
- python测验4_python接口自动化测试四:代码发送HTTPS请求
- 第二大数 滑动窗口 第九届“图灵杯”NEUQ-ACM程序设计竞赛个人赛
- Github | 备战秋招,最全面试题集合!
- python程序启动其他python程序,如何使用Python启动应用程序的实例?
- 【2018-01-28】HTML-布局
- 电脑打开任务管理器的方法有哪几种
- C语言定义定长整型数组,C语言变长讯息定义:柔性数组
- 【优化算法】粒子群优化模拟器【含Matlab源码 1553期】
- 缝隙天线简介[搬运]
- linux配置4g网络命令_[4G]Linux平台上实现4G通信
- 深度学习教程(15) | 自然语言处理与词嵌入(吴恩达·完整版)
- Mac 序列号不可用导致超时代视频加密视频播放失败
- SQL2000;安装程序配置服务器失败
- 了解游戏测试主要工作及主要流程
- 处理VFS对象及标准函数--标准函数
- 587所大学90个一流学科榜:电子专业哪家强?
- 基于飞桨PARL实践PPO算法,让“猎豹”学会奔跑!
- 工程材料(2)铁碳相图
- 【操作系统】多级索引、混合索引例题
热门文章
- Tensorflow变量作用域及变量初始化
- STM32精英版(正点原子STM32F103ZET6开发板)学习篇15——RTC实时时钟+备份区域BKP
- idea开发SSM框架的高校大学学生社团管理网站bootstrap自适应响应式前端(javaweb-php-asp.netC#-j2ee)包含公告管理-社团活动管理-社团申请管理-社团审核-活动报名
- EPLAN 接线端子
- C#不能直接打开 wod文档,只能保存到本地再打开
- 关于MySQL外键的设置
- 类的加载器的介绍 和 类的加载过程
- 【手把手】ElasticSearch的脚本查询相关
- 设定PCB的区域(AD18)
- STM32F103ZE单片机FSMC接口读取NAND Flash芯片K9F1G08U0E的数据时出现数据丢失的解决办法