架构设计环

架构设计常见的错误思维
直接照搬业界最牛的公司的架构,或者用最牛的技术。
采用最近很火热的技术,例如中台。
自己以前熟悉什么就用什么,例如 MySQL 搞定一切存储。
什么是备选架构?

备选架构设计过程
头脑风暴:
对可选技术进行排列组合,得到可能的方案。
红线筛选:
根据系统明确的约束和限定,一票否决某些方案。
4R设计
确定Role、Relation,基于核心场景来设计Rule。
头脑风暴案例:例如 ZooKeeper、Raft、Redis、Memcached、MySQL、MongoDB 排列组合。
红线筛选案例:1. MTR 直接要求数据库用 Oracle;2. 成本不能超过100万。
备选架构设计技巧
数量:
3 ~ 5个为最佳
1. 少于3个方案可能是因为思维狭隘,考虑不周全;
2. 多于5个则需要耗费大量的精力和时间,并且方案之间的差别可能不明显。
差异性:
有比较明显的差异
1. 主备方案 vs 集群方案;
2. ZooKeeper vs Keepalived;
3. ZooKeeper 1分钟 vs 5分钟,差异不大。
粒度:
覆盖核心业务场景
能够实现核心业务场景即可,无需全面细化。
备选架构设计常见困难和应对技巧

比较学习法:学习-比较-思考

错误的方法
让领导选:
【定义】
备选方案都是可行的,领导喜欢哪个就用哪个。
【问题】
1. 领导可能并不是很懂。
【正确的做法】
选好,告诉领导为什么选这个。
综合打分:
【定义】
列出多个打分维度,多人打分,然后挑选分数高的。
【问题】
1. 所有维度一视同仁。
【正确的做法】
按照优先级评估。
正确的方法 - 360度环评 + 优先级排序

360度环评样例

常见架构评估维度和注意事项
