架构知识体系总结

架构知识体系总结

@Date 2018.08.30

一. 架构是什么?

  • 系统:相互协同可运行的实体,是一群关联个体组成, 这些个体可以是子系统/模块/组件等
  • 架构:顶层设计,需要明确系统包含哪些个体,明确个体运作和写作的规则
  • 框架:面向编程或者配置的半成品
  • 组件:技术维度的复用
  • 模块:业务维度的职责划分

二. 架构设计的背景

  • 软件生产力远远跟不上硬件和业务的发展, 软件的扩展非常复杂
  • 系统规模庞大,内部耦合严重,开发效率低
  • 系统耦合严重, 牵一发动全身, 后续修改和扩展困难
  • 系统逻辑复杂, 容易出问题, 出问题后很难排查和修复

三. 架构设计的目的

  • 解决软件系统复杂度
    • 熟悉和理解需求, 识别系统的复杂点, 并针对解决
    • 并不需要面面俱到, 不需要每个架构都具体CAP特性
    • 在一个有约束的条件(团队经验/成本/资源/进度/业务)下去求最合适的解
    • 需求驱动架构
  • 分析
    • 性能
    • 可扩展性
    • 高可用
    • 存储高可靠
    • 安全性/隐私性
    • 成本

我的博客即将入驻“云栖社区”,诚邀技术同仁一同入驻。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第九章 软件架构设计 9.1 软件架构概述 9.1.1 软件架构的定义 定义1:软件或计算机系统的软件架构是该系统...
    步积阅读 4,861评论 0 17
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,596评论 25 708
  • 用两张图告诉你,为什么你的 App 会卡顿? - Android - 掘金 Cover 有什么料? 从这篇文章中你...
    hw1212阅读 12,991评论 2 59
  • 《红高粱》看到最后一集,泪崩。不能不说,比悲壮的故事更催泪的往往是音乐。当九儿走进高粱地,悠悠地唱起“身边的那片田...
    风吹过的岁月阅读 612评论 1 4
  • 闭包(closure),是创建一个函数a,a内包含n个函数,这样在a的运行时环境就成了n个函数的第一次创建时的环境...
    医学小咖成长之路阅读 213评论 0 0