【基础架构】——架构设计流程第三步(评估和选择备选方案)
目录
- 一、引入前提
- 1.1、选择备选方案的最简派指导思想
- 1.2、选择备选方案的最牛派指导思想
- 1.3、选择备选方案的最熟派指导思想
- 1.4、选择备选方案的领导派指导思想
- 二、评估和选择备选方案
- 2.1、如何评估和选择备选方案
- 2.2、常见的方案质量属性点
- 2.3、评估备选方案示例
- 2.4、选择备选方案的错误做法
- 2.5、选择备选方案的正确做法
本文来源:极客时间vip课程笔记
一、引入前提
-
在完成备选方案设计后,如何挑选出最终的方案也是一个很大的挑战,主要原因有:
每个方案都是可行的,如果方案不可行就根本不应该作为备选方案。
没有哪个方案是完美的。例如,A 方案有性能的缺点,B 方案有成本的缺点,C 方案有新技术不成熟的风险。
评价标准主观性比较强,比如设计师说 A 方案比 B 方案复杂,但另外一个设计师可能会认为差不多,因为比较难将“复杂”一词进行量化。因此,方案评审的时候我们经常会遇到几个设计师针对某个方案或者某个技术点争论得面红耳赤。
-
正因为选择备选方案存在这些困难,所以实践中很多设计师或者架构师就采取了下面几种指导思想:
1.1、选择备选方案的最简派指导思想
- 设计师挑选一个看起来最简单的方案。
- 例如,我们要做全文搜索功能,方案 1 基于 MySQL,方案 2 基于 Elasticsearch。MySQL 的查询功能比较简单,而 Elasticsearch 的倒排索引设计要复杂得多,写入数据到 Elasticsearch,要设计 Elasticsearch 的索引,要设计 Elasticsearch 的分布式……全套下来复杂度很高,所以干脆就挑选 MySQL 来做吧。 </