合适原则、简单原则、演化原则
真正优秀的架构都是在企业当前人力、条件、业务等各种约束下设计出来的,能够合理地将资源整合在一起并发挥出最大功效,并且能够快速落地
识别复杂度:复杂度主要来源于“高性能”“高可用”“可扩展”等几个方面
设计备选方案:备选阶段关注的是技术选型,而不是技术细节,技术选型的差异要比较明显
通用方案:高可用的主备方案、集群方案,高性能的负载均衡、多路复用,可扩展的分层、插件化等技术,绝大部分时候我们有了明确的目标后,按图索骥就能够找到可选的解决方案,NoSQL:Key-Value 的存储和数据库的索引其实是类似的,Memcache 只是把数据库的索引独立出来做成了一个缓存系统。Hadoop 大文件存储方案,基础其实是集群方案 + 数据复制方案。Docker 虚拟化,基础是 LXC(Linux Containers)。LevelDB 的文件存储结构是 Skip List
评估和选择:“360 度环评”!具体的操作方式为:列出我们需要关注的质量属性点(性能、可用性、硬件成本、项目投入、复杂度、安全性、可扩展性等),然后分别从这些质量属性的维度去评估每个方案,再综合挑选适合当时情况的最优方案
设计详细方案:落地具体选型和细节