什么是架构

软件架构指 软件系统的顶层结构。
核心概念:系统,子系统,组件,模块,架构

核心要解决的问题:

高性能:
高可用,
可扩展

高可用

  • 计算高可用
  • 存储高可用

实现方式:冗余

存储高可用的难点不在于如何备份数据,而在于如何减少或规避数据不一致对业务带来的影响

高可用状态决策方式

  • 独裁式
  • 协商式
  • 民主式(zookeeper的leader选举方式)

架构设计三原则

  • 合适原则
  • 简单原则
  • 演化原则

架构设计流程

  • 识别复杂度:问题列出来,按优先级排序
  • 设计备选方案
  • 评估备选方案
  • 详细方案设计

互联网标准技术架构

image.png

网络层

  • 负载均衡:策略都有哪些