从零开始学架构

什么是架构?

架构是软件系统的顶层结构(基础结构)
框架是面向编程或配置的半成品
组件是从技术维度上的复用
模块是从业务维度上职责的划分
系统是相互协同可运行的实体

架构设计的目的是什么?

为了高性能、高可用、可扩展

架构解决了哪些问题?

系统规模庞大,内部耦合严重,开发效率低
系统耦合严重,牵一发动全身,后续修改和扩展困难
系统逻辑复杂,容易出问题,出问题后很难排查和修复

高性能增加机器目的在于“扩展”处理性能;高可用增加机器目的在于“冗余”处理单元。

高性能

更快的响应,更大的并发
通过‘扩展’增强处理性能

高可用

规避不可预知异常宕机
通过‘冗余’增加可用性

可扩展

预测变化
应对变化

复杂度

低成本带来的技术引进与技术创新
功能架构安全
规模-量变演变成质变

架构设计的三大原则

合适原则:“合适优于业界领先”
-结合实际情况:人力,条件,流量等资源
简单原则:“简单优于复杂”
-结构复杂性:组件越多可用性越差
-逻辑复杂性:包罗越多,投入越多,故障越多
演化原则:“演化优于一步到位”
-优秀的系统-架构照搬不来,需一步步演进、迭代

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  •   软件架构的出现是为了解决系统规模增加后出现了系统耦合严重,开发效率低,逻辑复杂,扩展困难等问题。所以架构设计是...
    良辰美景TT阅读 3,345评论 0 29
  • 01 | 架构到底是指什么? 系统与子系统 系统泛指由一群有关联的个体组成,根据某种规则运作,能完成个别元件不能单...
    governlee阅读 1,175评论 0 0
  • 第一章 架构基础 1.架构设计的复杂度来源 1.1 高性能 1.1.1单机复杂度 1.1.2集群复杂度 集群复杂度...
    凹凸曼_ebb9阅读 200评论 0 0
  • 源起 软件发展历程 机器语言 直接使用二进制码 0 和 1 来表示机器可以识别的指令和数据开发难度大/可读性差/可...
    visionarywind阅读 335评论 0 0
  • 系统的定义 系统泛指由一群有的个体组成,根据某种运作,能完成个别元件的工作的群体。 模块 和 组件 模块:从逻辑层...
    李子悟阅读 310评论 0 0

友情链接更多精彩内容