架构知识体系总结
@Date 2018.08.30
一. 架构是什么?
- 系统:相互协同可运行的实体,是一群关联个体组成, 这些个体可以是子系统/模块/组件等
- 架构:顶层设计,需要明确系统包含哪些个体,明确个体运作和写作的规则
- 框架:面向编程或者配置的半成品
- 组件:技术维度的复用
- 模块:业务维度的职责划分
二. 架构设计的背景
- 软件生产力远远跟不上硬件和业务的发展, 软件的扩展非常复杂
- 系统规模庞大,内部耦合严重,开发效率低
- 系统耦合严重, 牵一发动全身, 后续修改和扩展困难
- 系统逻辑复杂, 容易出问题, 出问题后很难排查和修复
三. 架构设计的目的
- 解决软件系统复杂度
- 熟悉和理解需求, 识别系统的复杂点, 并针对解决
- 并不需要面面俱到, 不需要每个架构都具体CAP特性
- 在一个有约束的条件(团队经验/成本/资源/进度/业务)下去求最合适的解
- 需求驱动架构
- 分析
- 性能
- 可扩展性
- 高可用
- 存储高可靠
- 安全性/隐私性
- 成本
我的博客即将入驻“云栖社区”,诚邀技术同仁一同入驻。