Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >软件架构 6 个方面

软件架构 6 个方面

原创
作者头像
软件书桌
发布于 2024-03-25 13:15:30
发布于 2024-03-25 13:15:30
1850
举报

所谓 “架构”,就是将软件的结构打好,然后在结构内按部就班的施工就好了。

软件架构 6 个方面

软件架构涉及六个维度,分别是 “稳定性”、“高性能”、“一致性”、“扩展性”、“观察性” 和 “安全性”。

没有最好的架构,只有合适的架构。合适的架构就是在对这些维度的平衡与取舍,以最大程度的支撑当前业务的运行。

每个方面包含的内容

稳定性,异步、调度、容错、隔离、熔断、限流、降级、故障恢复。

高性能,缓存、异步、并行、并发、消息。

一致性,分布式锁、UID、事务、幂等。

扩展性,资源扩容、弹性伸缩、扩展长链接、扩展数据库、跨数据中心

观察性,监控告警、调用链。

安全性,开源证书、安全漏洞、基线扫描。

总结

这个分类的细节随着认知理解的升级,还会有补充和调整,但是整体的结构应该差不多就是这样了。

这也印证了 “架构是演化出来的,不是一蹴而就的。”

可以说这个是 “架构” 的 “架构” 吧,以后只需要完善这个结构,往这个结构中不断添加工具、方法、经验就好了。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
InfoQ 2025 年趋势报告:软件架构和设计
作者 | Thomas Betts, Sarah Wells, Eran Stiller, Daniel Bryant
深度学习与Python
2025/05/15
1390
InfoQ 2025 年趋势报告:软件架构和设计
软件架构如何建模
相信大家对模型一词都不陌生,但是在我们实际工作中进行软件架构设计的时候,要如何去建模呢?不知道大家是怎么去理解建模一词并能实际落地? 今天我来谈谈自己在软件架构中如何进行建模.
小坤探游架构笔记
2025/04/30
790
软件架构如何建模
【愚公系列】软考高级-架构设计师 109-软件架构演化原则
软件架构演化原则是指在软件架构设计和演化过程中应该遵循的一些指导性原则和规范,以确保软件系统在不断变化和迭代的过程中保持稳健、可维护和可扩展。
愚公搬代码
2024/08/15
1970
探寻软件架构的本质,到底什么是架构
本文将深入探讨软件架构的核心概念,解析“架构”这一术语的本质含义。将从软件架构的定义出发,阐述其在软件开发过程中的重要性,以及如何通过架构来实现技术和业务目标的对齐。通过对架构的深刻理解,本文旨在帮助开发者和架构师更好地把握软件设计的高层次视角,并作出明智的架构决策。
京东技术
2024/02/26
8050
探寻软件架构的本质,到底什么是架构
12种常见的软件架构风格,架构师必备
软件架构是定义软件系统的高级结构和组织的过程。它涉及识别和选择正确的组件,决定它们之间如何交互,以及确定它们应该如何组织以实现特定的目标。软件架构的目标是创建一个可维护、可扩展和安全的系统,能够满足用户和组织的需求。
程序新视界
2023/12/02
3K0
12种常见的软件架构风格,架构师必备
深度解析四大主流软件架构模型:单体架构、分布式应用、微服务与Serverless的优缺点及场景应用
🐯 大家好,我是猫头虎!在这个技术快速发展的时代,软件架构的演进无疑扮演着关键角色,尤其是对我们软件开发者来说。如何选择合适的软件架构,如何权衡其优缺点,无疑是我们每个开发者都要面临的问题。今天,我将深入探讨四种主流的软件架构:单体架构、分布式应用、微服务架构以及Serverless架构。我们将一起探讨它们的核心思想、优劣势以及典型的应用场景,帮助大家更精准地定位到适合自己项目的架构模型。希望这篇博客能够在你的技术道路上点亮一盏指路灯,并为你在软件架构的道路上披荆斩棘!💻🚀
猫头虎
2024/04/09
6.9K0
深度解析四大主流软件架构模型:单体架构、分布式应用、微服务与Serverless的优缺点及场景应用
软件架构设计-软件架构风格、分层架构
软件或计算机系统的软件架构是该系统的一个(或多个)结构,而结构由软件元素、元素的外部可见属性及它们之间的关系组成。
IT大咖说
2021/07/19
2.7K0
基于十余年实践的现代软件架构探讨
引言 多年的软件从业经验,给了我一个清晰的结论,好的软件是设计出来的。 当然,不只是好的软件,好的产品也是设计出来的。 对于一个大规模的软件系统,软件的架
Tiger 张虎
2024/12/24
6170
软考高级架构师:软件架构评估:敏感点、权衡点、风险点、非风险点
在软件架构评估过程中,我们需要关注几个重要方面,包括敏感点、权衡点、风险点和非风险点。这些点能够帮助我们全面了解软件架构的优缺点,并为改进和优化提供指导。以下是这些概念的详细解释:
明明如月学长
2024/05/25
2.2K0
关于软件架构的一切
软件开发可以描述为一个复杂的系统过程,需要在各个技术领域以及相关业务方面的专业知识。就像总体规划的蓝图一样,通过定义软件的体系结构,可以促进此软件开发过程的组成部分。
IT大咖说
2021/03/14
4480
浅谈软件架构
每一个程序员都有一个架构师的梦,可理想很丰满,现实很骨感---大部程序员工作中都做着简单的 CRUD,我也不例外。如果就这样还常把“架构”两个字挂在嘴边,估计程序员们都会脸红。但就因为暂时还不能成为架构师,我们就要放弃成为架构师的梦想了吗?显然不能,掌握架构设计的相关理论是成为架构师的前提,有了方法论可以更好地指导我们干活。机会总是留给有准备的人的,万一哪天梦想实现了呢?
政采云前端团队
2023/11/16
4900
浅谈软件架构
一文道尽软件架构及前端架构演进
人人都在说软件架构,但人们并不能给出一个准确的定义,就像Martin Folwer在《Making Architecture Matter》上分享说的,Architecture is about the important stuff. Whatever that is。
童欧巴
2020/04/08
8160
一文道尽软件架构及前端架构演进
《软件架构:生活中的无形智慧》
在当今数字化的时代,软件架构这个看似高深的概念,其实已经悄然渗透到我们生活的每一个角落。它不仅仅是科技领域的专业术语,更是一种影响我们生活方式的无形力量。
程序员阿伟
2024/12/09
1080
猫头虎分享: 探索软件系统架构的革新之路
在这篇博客中,我们将深入探讨软件系统架构的发展与革新。从单体应用到微服务,再到云原生架构,每一步都标志着技术的进步和思维的转变。对于软件工程师、架构师以及技术爱好者而言,这篇文章将提供关键的知识点和技术细节,帮助理解和把握架构设计的脉络。涵盖了微服务、容器化、DevOps、云计算等多个关键词,本文将是你理解软件架构演变的完美指南。
猫头虎
2024/04/07
1680
猫头虎分享: 探索软件系统架构的革新之路
软件架构与系统架构:区别与联系的分析
引言: 在信息技术领域,软件架构和系统架构这两个术语经常被提及。尽管它们在某些方面有重叠,但它们确实代表了不同的概念和聚焦点。理解这两种架构之间的区别和联系对于任何从事技术开发和设计的专业人士都是至关重要的。本文旨在深入探讨软件架构与系统架构的定义、差异以及它们之间的相互关系。
运维开发王义杰
2024/02/04
8380
软件架构与系统架构:区别与联系的分析
微服务架构设计 | 如何设计可拓展系统
在当今快速发展的技术世界中,系统的可扩展性已经成为了软件架构设计中的一个核心考量。随着用户基数的增长、数据量的爆炸式膨胀以及业务需求的不断变化,一个初期设计良好的系统也可能很快面临性能瓶颈和维护难题。因此,设计一个能够适应这些变化,同时保持高效、稳定和可管理状态的系统,对于确保企业的持续成功至关重要。
windealli
2024/02/19
5690
微服务架构设计 | 如何设计可拓展系统
【软件架构】软件架构权衡系列 - 第 1 部分
我们所说的“软件架构”有很多定义和含义。构成“软件开发”、“软件设计”和“软件架构”的内容之间也存在相当大的重叠,因为这三个概念在许多方面融合在一起。
架构师研究会
2022/09/26
3900
ROS:用于Automated Driving的模块化软件架构
自动驾驶对软件架构-Software Frameworks (SWFs)设计有着特殊的需求,若开始一个自动驾驶项目,作为开发者,我们可能会有如下几方面的诉求。
Defry
2022/04/19
1K0
ROS:用于Automated Driving的模块化软件架构
软件架构发展历程分享
架构的形式与特点 设计文档和代码 我们一般说的架构既包括架构的设计过程,也包括设计的产出物,一般可以包括各类设计文档、设计图,也可以包括一些技术验证代码、Demo 或者其他相关程序。文档的目的在于准确记录我们的思维产物,在软件尚未实现时,作为指导蓝图,尽量精确的描述清楚软件。 在软件的实现过程中,可能随时随着我们的深入研究,根据具体情况对文档做出局部的一些调整和修改。文档作为结项或交接的一部分,也是整个软件项目的产出物的一部分,成为公司 IT 资产的有机组成部分。 架构服务于业务 正如19世纪的伟大建筑
CSDN技术头条
2018/04/18
1.4K0
软考高级:软件架构评估-质量属性概念和例题
软件架构评估是对软件整体结构设计的系统性分析,旨在确保软件系统能够满足既定的质量要求。在这个过程中,质量属性扮演着关键角色,它们定义了软件系统必须达到的标准和性能。
明明如月学长
2024/05/24
1590
软考高级:软件架构评估-质量属性概念和例题
推荐阅读
相关推荐
InfoQ 2025 年趋势报告:软件架构和设计
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档