从0开始架构读书笔记
从0开始架构读书笔记(一)
这本书的数目又从0开始精通c++语言的既视感。其实是本提供架构方法论的好书,循序渐进,有外及里。
架构的概念是什么?通过一定的规则整合起来的满足某些要求的可运行的系统
架构的历史就是解决软件的复杂性,降低人工的成本
架构设计的目的:分析业务特点,满足业务需求,满足业务发展的需求
未来满足高性能的,单机复杂性,集群的复杂性
集群的复杂体现在任务的分配,任务分解,
高可用:计算高可用,存储高可用,高可用状态决策(1独裁 2协商 3民主)
可扩展:预测变化,应对变化
更低成本:追求更高的性能。安全:功能安全,架构安全。规模:业务复杂度,数据复杂度
作者整理的架构的三个原则
- 合适原则
- 简单优于复杂:结构复杂,逻辑的复杂
- 演化原则
架构设计流程:
-
识别复杂度
- 高性能
- 高可用
- 可扩展
- 低成本
- 安全
- 规模:业务+数据
- 复杂问题列出来,然后根据业务,技术,团队等综合情况进行排序,优先解决当前面临的最主要的复杂度问题
-
设计备选方案
- 已存在的技术,验证过的架构模式,根据业务再进行组合修改和调整
- 备选方案至少3-5个,备案方案不能过细
评估和选择备选方案的标准
- 性能
- 可用性
- 硬件成本
- 项目投入
- 复杂度
- 安全性
- 可扩展性
详细方案设计
- 备选方案设计和选型,对备选方案的细节有较深入的理解
- 分步骤,分阶段,分系统等方式,降低方案复杂度