什么是架构
软件架构指 软件系统的顶层结构。
核心概念:系统,子系统,组件,模块,架构
核心要解决的问题:
高性能:
高可用,
可扩展
高可用
- 计算高可用
- 存储高可用
实现方式:冗余
存储高可用的难点不在于如何备份数据,而在于如何减少或规避数据不一致对业务带来的影响
高可用状态决策方式
- 独裁式
- 协商式
- 民主式(zookeeper的leader选举方式)
架构设计三原则
- 合适原则
- 简单原则
- 演化原则
架构设计流程
- 识别复杂度:问题列出来,按优先级排序
- 设计备选方案
- 评估备选方案
- 详细方案设计
互联网标准技术架构
网络层
- 负载均衡:策略都有哪些