爆款云主机2核4G限时秒杀,88元/年起!
查看详情

活动

天翼云最新优惠活动,涵盖免费试用,产品折扣等,助您降本增效!
热门活动
  • 618智算钜惠季 爆款云主机2核4G限时秒杀,88元/年起!
  • 免费体验DeepSeek,上天翼云息壤 NEW 新老用户均可免费体验2500万Tokens,限时两周
  • 云上钜惠 HOT 爆款云主机全场特惠,更有万元锦鲤券等你来领!
  • 算力套餐 HOT 让算力触手可及
  • 天翼云脑AOne NEW 连接、保护、办公,All-in-One!
  • 中小企业应用上云专场 产品组合下单即享折上9折起,助力企业快速上云
  • 息壤高校钜惠活动 NEW 天翼云息壤杯高校AI大赛,数款产品享受线上订购超值特惠
  • 天翼云电脑专场 HOT 移动办公新选择,爆款4核8G畅享1年3.5折起,快来抢购!
  • 天翼云奖励推广计划 加入成为云推官,推荐新用户注册下单得现金奖励
免费活动
  • 免费试用中心 HOT 多款云产品免费试用,快来开启云上之旅
  • 天翼云用户体验官 NEW 您的洞察,重塑科技边界

智算服务

打造统一的产品能力,实现算网调度、训练推理、技术架构、资源管理一体化智算服务
智算云(DeepSeek专区)
科研助手
  • 算力商城
  • 应用商城
  • 开发机
  • 并行计算
算力互联调度平台
  • 应用市场
  • 算力市场
  • 算力调度推荐
一站式智算服务平台
  • 模型广场
  • 体验中心
  • 服务接入
智算一体机
  • 智算一体机
大模型
  • DeepSeek-R1-昇腾版(671B)
  • DeepSeek-R1-英伟达版(671B)
  • DeepSeek-V3-昇腾版(671B)
  • DeepSeek-R1-Distill-Llama-70B
  • DeepSeek-R1-Distill-Qwen-32B
  • Qwen2-72B-Instruct
  • StableDiffusion-V2.1
  • TeleChat-12B

应用商城

天翼云精选行业优秀合作伙伴及千余款商品,提供一站式云上应用服务
进入甄选商城进入云市场创新解决方案
办公协同
  • WPS云文档
  • 安全邮箱
  • EMM手机管家
  • 智能商业平台
财务管理
  • 工资条
  • 税务风控云
企业应用
  • 翼信息化运维服务
  • 翼视频云归档解决方案
工业能源
  • 智慧工厂_生产流程管理解决方案
  • 智慧工地
建站工具
  • SSL证书
  • 新域名服务
网络工具
  • 翼云加速
灾备迁移
  • 云管家2.0
  • 翼备份
资源管理
  • 全栈混合云敏捷版(软件)
  • 全栈混合云敏捷版(一体机)
行业应用
  • 翼电子教室
  • 翼智慧显示一体化解决方案

合作伙伴

天翼云携手合作伙伴,共创云上生态,合作共赢
天翼云生态合作中心
  • 天翼云生态合作中心
天翼云渠道合作伙伴
  • 天翼云代理渠道合作伙伴
天翼云服务合作伙伴
  • 天翼云集成商交付能力认证
天翼云应用合作伙伴
  • 天翼云云市场合作伙伴
  • 天翼云甄选商城合作伙伴
天翼云技术合作伙伴
  • 天翼云OpenAPI中心
  • 天翼云EasyCoding平台
天翼云培训认证
  • 天翼云学堂
  • 天翼云市场商学院
天翼云合作计划
  • 云汇计划
天翼云东升计划
  • 适配中心
  • 东升计划
  • 适配互认证

开发者

开发者相关功能入口汇聚
技术社区
  • 专栏文章
  • 互动问答
  • 技术视频
资源与工具
  • OpenAPI中心
开放能力
  • EasyCoding敏捷开发平台
培训与认证
  • 天翼云学堂
  • 天翼云认证
魔乐社区
  • 魔乐社区

支持与服务

为您提供全方位支持与服务,全流程技术保障,助您轻松上云,安全无忧
文档与工具
  • 文档中心
  • 新手上云
  • 自助服务
  • OpenAPI中心
定价
  • 价格计算器
  • 定价策略
基础服务
  • 售前咨询
  • 在线支持
  • 在线支持
  • 工单服务
  • 建议与反馈
  • 用户体验官
  • 服务保障
  • 客户公告
  • 会员中心
增值服务
  • 红心服务
  • 首保服务
  • 客户支持计划
  • 专家技术服务
  • 备案管家

了解天翼云

天翼云秉承央企使命,致力于成为数字经济主力军,投身科技强国伟大事业,为用户提供安全、普惠云服务
品牌介绍
  • 关于天翼云
  • 智算云
  • 天翼云4.0
  • 新闻资讯
  • 天翼云APP
基础设施
  • 全球基础设施
  • 信任中心
最佳实践
  • 精选案例
  • 超级探访
  • 云杂志
  • 分析师和白皮书
  • 天翼云·创新直播间
市场活动
  • 2025智能云生态大会
  • 2024智算云生态大会
  • 2023云生态大会
  • 2022云生态大会
  • 天翼云中国行
天翼云
  • 活动
  • 智算服务
  • 产品
  • 解决方案
  • 应用商城
  • 合作伙伴
  • 开发者
  • 支持与服务
  • 了解天翼云
      • 文档
      • 控制中心
      • 备案
      • 管理中心

      认识什么是架构

      首页 知识中心 其他 文章详情页

      认识什么是架构

      2024-06-07 07:39:41 阅读次数:42

      架构

      一、架构是什么

      在软件行业,对于什么是架构,都有很多的争论,每个人都有自己的理解。在不同的书籍上, 不同的作者, 对于架构的定义也不统一, 角度不同, 定义不同。此君说的架构和彼君理解的架构未必是一回事。因此我们在讨论架构之前,我们先讨论架构的概念定义, 因为概念是人认识这个世界的基础和用来沟通的手段,如果对架构概念理解不一样,那沟通起来自然不顺畅。

      Linux 有架构,MySQL 有架构,JVM 也有架构,使用 Java 开发、MySQL 存储、跑在 Linux 上的业务系统也有架构,应该关注哪一个?想要清楚以上问题需要梳理几个有关系又相似的概念:系统与子系统、模块与组建、框架与架构。

       1.1 系统与子系统

       1.1.1 系统

      泛指由一群有关联的个体组成,根据某种规则运作,能完成个别元件不能独立完成的工作能力的群体。

      关键词:关联、规则、能力

      1.1.1.1 关联

      系统是由一群有关联的个体组成的,没有关联的个体堆在一起不能成为一个系统。例如,把一个发动机和一台 PC 放在一起不能称之为一个系统,把发动机、底盘、轮胎、车架组合起来才能成为一台汽车。

       1.1.1.2 规则

      系统内的个体需要按照指定的规则运作,而不是单个个体各自为政。规则规定了系统内个体分工和协作的方式。例如,汽车发动机负责产生动力,然后通过变速器和传动轴, 将动力输出到车轮上,从而驱动汽车前进。

       1.1.1.3 能力

      系统能力与个体能力有本质的差别,系统能力不是是个体能力之和,而是产生了新的能力。例如,汽车能够载重前进,而发动机、变速器、传动轴、车轮本身都不具备这样的能力。

      1.1.2 子系统

      也是由一群关联的个体组成的系统,多半是在更大的系统中的一部分。

       1.2 模块与组件

      都是系统的组成部分,从不同角度拆分系统而已。模块是逻辑单元,组件是物理单元。

       1.2.1 模块

      模块就是从逻辑上将系统分解, 即分而治之, 将复杂问题简单化。模块的粒度可大可小, 可以是系统,几个子系统、某个服务,函数, 类,方法、 功能块等等。划分模块的主要目的是职责分离。

       1.2.2 组件

      组件可以包括应用服务、数据库、网络、物理机、还可以包括 MQ、容器、Nginx 等技术组件。划分组件的主要目的的是单元复用。"组件"的英文单词 Component,对应中文的"零件"一词,"零件"更容易理解一些。"零件"是一个物理的概念, 并且具备"独立且可替换"的特点。

       1.3 框架与架构

       1.3.1 框架

      框架通常指的是为了实现某个业界标准或完成特定基本任务的软件组件规范, 也指为了实现某个软件组件规范时,提供规范所要求之基础功能的软件产品。

      框架是组件实现的规范,例如:MVC、MVP、MVVM 等,是提供基础功能的产品,例如开源框架:Ruby on Rails、Spring、Laravel、Django 等,这是可以拿来直接使用或者在此基础上二次开发。再例如,SpringMVC 是 MVC 的开发框架,除了满足 MVC 的规范,Spring 提供了很多基础功能来帮助我们实现功能,包括注解(@Controller 等)、Spring Security、SpringJPA 等很多基础功能。

       1.3.2 架构

       1.3.2.1 架构定义

      在 TOGAF9 是这么定义:一个系统基本的构件(子系统, 模块, 组件),体现在它的各个构件、构件间的相互关系、构件与环境间的关系,以及对系统设计和演进进行治理的原则中。两种含义:

      * 一个系统的形式化描述,或指导系统实现的构件级的详细计划;
      * 一组构件的结构、构件间的相互关系、以及对这些构件的设计和随时间演进的过程进行治理的一些原则和指导策略。

      架构从字面意思上,是源于古代的建筑术语。把架构拆分成两个字“架”和“构”。“架”就是“加”和“木”的结合,把木头加起来、连接起来就是架。“构”就是结构的意思。所以,“架构”就是把“木“按照一定的结构连接起来。

       1.3.2.2 架构组成
       1.3.2.2.1 要素

      对应到软件架构,“木”代表构件(要素),“结构”代表架构的产物:

      木就是系统中的要素,我们将他们称之为架构构件(要素)。架构要素可以是**子系统、模块、应用服务、组件**。

       1.3.2.2.2 结构

      **结构**,是架构的产物。不同的软件系统会有不同的结构,这些结构是为解决不同场景而设计的。

      1.3.2.2.3 连接

      **连接**,通过定义架构元素之间的接口和交互关系、集成机制,实现架构元素之间的连接。连接可以是分布式调用、进程间调用、组件之间的交互关系等。

       1.3.2.3 总结

      总结一下架构的组成 = 要素 + 结构 + 连接,将系统要素按照特定结构进行连接交互。

       1.3.2.4 我对架构的理解

      我在这重新定义架构(见仁见智,自己独立思考):软件架构指软件系统顶层结构设计。架构是经过系统性地思考,权衡利弊之后在现有资源约束下的最合理决策,最终明确的系统骨架:包括子系统,模块, 组件。 以及他们之间协作关系,约束规范, 指导原则. 并由它来指导系统各方面的设计和指导团队中的每个人思想层面上的一致。

       1.3.2.4.1 系统性思考的合理决策

      比如技术选型、解决实施方案(包括执行目标计划)、成本评估、性价比评估等等。

       1.3.2.4.2 结构

      明确的系统骨架(结构):明确系统有哪些构件组成。

      1.3.2.4.3 连接

      系统协作关系:各个组成部分如何协作来实现业务请求。

      1.3.2.4.4 规范

      约束规范和指导原则:保证系统有序,高效、稳定运行,包括规范、原则、流程等内容。

       二、架构设计的目的

       2.1 无架构设计带来的问题

      如果没有架构设计,说明你的系统不够复杂。随着业务的增长,系统由单体应用渐进演化为分布式和微服务化。系统整体的复杂性越来越高,技术团队可能从一个团队变成多个专业化团队。假如没有架构设计,系统定会是一个无序失控的状态。

       2.1.1 应用服务的边界不是很清晰

      到底该怎么拆分没有一个明确的原则,研发人员为了所谓微服务化而拆分,而不是从当前业务考虑。导致系统无序的状态,开发效率低。

       2.1.2 应用服务层次不清晰,系统耦合严重

      导致服务依赖出现网状依赖结构,牵一发动全身,后续修改和扩展困难。

       2.1.3 系统应用服务跟踪问题

      由于微服务化后,系统逻辑复杂,服务出现问题后,你很难快速的定位问题和修复。比如之前我们踩过不少坑,我们使用 dubbo 服务化,系统一旦出现问题,一推人手忙脚乱。

       2.1.4 系统服务监控问题

      由于研发人员基本没有服务监控意识,都是出现问题后再想办法如何添加服务监控接口。

      2.1.5 技术体系失控问题

      不同的开发团队使用不同的技术栈或者组件,造成公司内部的技术架构失控。甚至研发人员为追求时髦新潮技术,拿应用项目来试验新技术。

       2.2 架构设计的作用

      架构设计的目的是为了解决系统复杂性带来的问题,其本质就是对系统进行有序化地重构以致符合当前业务的发展,并可以快速扩展。

       2.2.1 系统性思考的合理决策

       2.2.2 明确的系统骨架

       2.2.3 系统协作关系

       2.2.4 约束规范和指导原则

       2.3 架构设计的目的

      架构的本质是管理和解决系统的复杂性,提高效率。

       2.3.1 管理复杂性

      对系统进行有序化重构,不断减少系统的“熵”,使系统不断进化,改善软件质量为目的的内在结构性变化

       2.3.2 提高效率

      对系统进行有序化重构,以符合当前业务的发展,并可以快速扩展。

       2.4 架构设计的前提条件

      无论是何种变化,架构师通过理解业务,全局把控,权衡业务需求和技术实现,选择合适技术,解决关键问题、指导研发落地实施,促进业务发展,提高效率。那什么样的系统要考虑做架构设计? 技术不会平白无故的出和自驱动发展起来,而架构的发展和需求是基于业务的驱动。

       2.4.1 需求相对复杂

       2.4.2 非功能性需求在整个系统占据重要位置

       2.4.3 系统生命周期长,有扩展性需求

       2.4.4 系统基于组件或者集成的需要

       2.4.5 业务流程再造的需要

      版权声明:本文内容来自第三方投稿或授权转载,原文地址:https://blog.csdn.net/qq_25409421/article/details/131990890,作者:夜夜流光相皎洁_小宁,版权归原作者所有。本网站转在其作品的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如因作品内容、版权等问题需要同本网站联系,请发邮件至ctyunbbs@chinatelecom.cn沟通。

      上一篇:UML组件图

      下一篇:k8s安装Jenkins

      相关文章

      2025-05-19 09:04:38

      Mac电脑arm64芯片Cocoapods 的 ffi 兼容问题

      Mac电脑arm64芯片Cocoapods 的 ffi 兼容问题

      2025-05-19 09:04:38
      架构
      2025-05-14 10:03:13

      arm架构下JAVA开发

      ARM(Advanced RISC Machine)是一种基于精简指令集计算(RISC)设计的处理器架构。它以高效、节能著称,因此广泛应用 于从智能手机到物联网设备的各个领域。

      2025-05-14 10:03:13
      Java , JVM , 嵌入式 , 架构 , 设备
      2025-03-11 09:35:31

      【数据仓库-零】数据仓库知识体系 ing

      【数据仓库-零】数据仓库知识体系 ing

      2025-03-11 09:35:31
      数据仓库 , 架构 , 维度 , 规范
      2025-02-21 08:59:20

      【5G】5G基站君的进化之路 — CU和DU分离---研读

      【5G】5G基站君的进化之路 — CU和DU分离---研读

      2025-02-21 08:59:20
      分离 , 时延 , 架构 , 网络 , 部署
      2025-01-06 08:42:49

      MVVM架构详解:前端开发的理想选择

      MVVM架构是MVC(Model-View-Controller)的一种变体,特别适用于数据绑定和视图逻辑处理。

      2025-01-06 08:42:49
      开发者 , 数据 , 架构 , 模型 , 绑定 , 视图
      2025-01-06 08:42:49

      深入解析MVC架构(Model-View-Controller Architecture)

      MVC架构是一种用于构建用户界面的软件设计模式,最早在1970年代由Trygve Reenskaug提出。该模式将系统划分为三个主要部分:模型(Model)、视图(View)和控制器(Controller)。这种分离的方式旨在提高代码的模块化程度,促进代码的重用和维护。

      2025-01-06 08:42:49
      MVC , 展示 , 控制器 , 架构 , 模型 , 用户 , 视图
      2024-12-23 09:16:44

      使用Java实现微服务间的事件驱动架构

      在当今分布式系统开发中,微服务架构已经成为了主流。随着系统规模和复杂性的增加,如何有效地实现微服务之间的通信和协作变得尤为重要。事件驱动架构(Event-Driven Architecture,EDA)因其松耦合、高可伸缩性和异步通信的特性,成为了解决这一问题的理想选择之一。

      2024-12-23 09:16:44
      事件 , 实现 , 服务 , 架构 , 示例
      2024-12-20 07:54:53

      使用Java构建高可用性的系统架构

      在当今的互联网时代,高可用性是衡量系统稳定性和用户体验的关键指标之一。无论是电子商务平台、社交网络还是金融服务,用户对系统的可靠性和稳定性都有极高的要求。

      2024-12-20 07:54:53
      Java , 异步 , 架构 , 系统 , 负载 , 队列 , 高可用性
      2024-12-05 08:55:23

      那些年我们追过的那些技术

      那些年我们追过的那些技术

      2024-12-05 08:55:23
      前端 , 技术 , 数据库 , 架构 , 编程语言
      2024-12-02 09:45:29

      使用Spring Cloud构建Java微服务架构

      随着云计算和微服务架构的兴起,越来越多的企业开始采用微服务架构来构建他们的应用系统。而Spring Cloud作为一个基于Spring Boot的开源微服务框架,提供了一整套解决方案来简化微服务架构的开发、部署和管理。

      2024-12-02 09:45:29
      Spring , 服务 , 架构
      查看更多
      推荐标签

      作者介绍

      天翼云小翼
      天翼云用户

      文章

      33561

      阅读量

      5222850

      查看更多

      最新文章

      Mac电脑arm64芯片Cocoapods 的 ffi 兼容问题

      2025-05-19 09:04:38

      如何构建一个可伸缩的微服务架构?

      2024-11-08 08:54:34

      面向服务的架构

      2024-10-23 08:57:40

      springboot核心有几层架构

      2024-06-05 09:09:23

      十、微服务之-【SOA 和微服务架构之间的区别】

      2024-05-31 08:13:27

      六、微服务之-【微服务架构运行】

      2024-05-31 08:13:27

      查看更多

      热门文章

      K8S 架构实现及工作原理

      2023-03-24 10:31:38

      zeebe 为微服务架构的工作流引擎

      2023-07-17 06:52:22

      什么是架构

      2023-04-24 11:26:27

      Kubernetes 架构及基础概念

      2023-05-17 06:57:03

      Flagr 架构

      2023-04-06 09:56:40

      Nacos 架构原理剖析,一条注册请求会经历哪些过程

      2023-06-07 07:33:18

      查看更多

      热门标签

      linux java python javascript 数组 前端 docker Linux vue 函数 shell git 节点 容器 示例
      查看更多

      相关产品

      弹性云主机

      随时自助获取、弹性伸缩的云服务器资源

      天翼云电脑(公众版)

      便捷、安全、高效的云电脑服务

      对象存储

      高品质、低成本的云上存储服务

      云硬盘

      为云上计算资源提供持久性块存储

      查看更多

      随机文章

      springboot核心有几层架构

      如何构建一个可伸缩的微服务架构?

      架构抽象之通用表单管理

      什么是架构

      K8S 架构实现及工作原理

      面向服务的架构

      • 7*24小时售后
      • 无忧退款
      • 免费备案
      • 专家服务
      售前咨询热线
      400-810-9889转1
      关注天翼云
      • 旗舰店
      • 天翼云APP
      • 天翼云微信公众号
      服务与支持
      • 备案中心
      • 售前咨询
      • 智能客服
      • 自助服务
      • 工单管理
      • 客户公告
      • 涉诈举报
      账户管理
      • 管理中心
      • 订单管理
      • 余额管理
      • 发票管理
      • 充值汇款
      • 续费管理
      快速入口
      • 天翼云旗舰店
      • 文档中心
      • 最新活动
      • 免费试用
      • 信任中心
      • 天翼云学堂
      云网生态
      • 甄选商城
      • 渠道合作
      • 云市场合作
      了解天翼云
      • 关于天翼云
      • 天翼云APP
      • 服务案例
      • 新闻资讯
      • 联系我们
      热门产品
      • 云电脑
      • 弹性云主机
      • 云电脑政企版
      • 天翼云手机
      • 云数据库
      • 对象存储
      • 云硬盘
      • Web应用防火墙
      • 服务器安全卫士
      • CDN加速
      热门推荐
      • 云服务备份
      • 边缘安全加速平台
      • 全站加速
      • 安全加速
      • 云服务器
      • 云主机
      • 智能边缘云
      • 应用编排服务
      • 微服务引擎
      • 共享流量包
      更多推荐
      • web应用防火墙
      • 密钥管理
      • 等保咨询
      • 安全专区
      • 应用运维管理
      • 云日志服务
      • 文档数据库服务
      • 云搜索服务
      • 数据湖探索
      • 数据仓库服务
      友情链接
      • 中国电信集团
      • 189邮箱
      • 天翼企业云盘
      • 天翼云盘
      ©2025 天翼云科技有限公司版权所有 增值电信业务经营许可证A2.B1.B2-20090001
      公司地址:北京市东城区青龙胡同甲1号、3号2幢2层205-32室
      • 用户协议
      • 隐私政策
      • 个人信息保护
      • 法律声明
      备案 京公网安备11010802043424号 京ICP备 2021034386号