1 架构设计流程
1.1 第一步:识别复杂度
按照排查法来判断:是否需要高性能、是否需要高可用、是否需要高扩展、成本是否过高、安全是否要加强、规模是否过多
这一步是“万事开头难”,考察的是架构师的经验;
而识别出了复杂度之后,接下来的工作就是翻阅资料,考察架构师技术功底的时候了
1.2 第二步:设计备选方案
确定了系统面临的主要复杂度问题,方案设计有了明确的目标后,就可以开始真正进行架构方案设计了
第一种常见的错误:设计最优秀的方案。
第二种常见的错误:只做一个方案。
第三种常见的错误:备选方案过于详细。
备选方案的数量以 3 ~ 5 个为最佳。
备选方案的差异要比较明显。
例如,主备方案和集群方案差异就很明显,或者同样是主备方案,用 ZooKeeper 做主备决策和用 Keepalived 做主备决策的差异也很明显。
但是都用 ZooKeeper 做主备决策,一个检测周期是 1 分钟,一个检测周期是 5 分钟,这就不是架构上的差异,而是细节上的差异了,不适合做成两个方案。
备选方案的技术不要只局限于已经熟悉的技术。
1.3 第三步:评估和选择备选方案
几种指导思想:最简单、最牛逼、最熟悉、给领导决定
评估和选择的方式:列出系统需要关注的质量属性点,然后分别从这些质量属性的维度去评估每个方案