zoukankan      html  css  js  c++  java
  • 架构设计流程:设计备选方案

    极客时间:《从 0 开始学架构》:架构设计流程:设计备选方案

    1、引言

    经过上一章节关于识别复杂度,从而确定了当前系统面临的主要复杂问题后,方案设计就有了明确的目标,便可以进行架构方案的设计。

    2、架构设计第 2 步:设计备选方案

    成熟的架构师需要对已经存在的技术非常熟悉,对已经经过验证的架构模式烂熟于心,然后根据自己对业务的理解,挑选合适的架构模式进行组合,再对组合后的方案进行修改和调整。

    只有当这种方式完全无法满足需求的时候,才会考虑进行方案的创新,而事实上方案的创新绝大部分情况下也都是基于已有的成熟技术。

    NoSQL:Key-Value 的存储和数据库的索引其实是类似的,Memcache 只是把数据库的索引独立出来做成了一个缓存系统。
    Hadoop 大文件存储方案,基础其实是集群方案 + 数据复制方案。
    Docker 虚拟化,基础是 LXC(Linux Containers)。
    LevelDB 的文件存储结构是 Skip List。

    虽说是基于已有的技术或架构模式进行组合,然后调整,大部分情况下就能得到我们需要的方案,但由于可选的模式有很多,组合的方案也就很多,在进行些小创新,解决方案就会更多,因此,架构设计并不简单。这个阶段也是很多架构师容易犯错的地方。

    • 第一种常见的错误:设计最优秀的方案。
      根据架构设计原则中“合适原则”和“简单原则“的要求,挑选合适自己业务、团队、技术能力的方案才是好方案;否则要么浪费大量资源开发了无用的系统。
    • 第二种常见的错误:只做一个方案。
      PS:弊端
    • 心里评估过于简单,可能没有想得全面,只是因为某一个缺点就把某个方案给否决了,而实际上没有哪个方案是完美的,某个地方有缺点的方案可能是综合来看最好的方案。
    • 单一方案设计会出现过度辩护的情况,即架构评审时,针对方案存在的问题和疑问,架构师会竭尽全力去为自己的设计进行辩护,经验不足的设计人员可能会强词夺理。

    因此,架构师需要设计多个备选方案,合理的做法如下:

    • 备选方案的数量以 3 ~ 5 个为最佳
    • 备选方案的差异要比较明显
    • 备选方案的技术不要只局限于已经熟悉的技术
    • 第三种常见的错误:备选方案过于详细
      浪费时间精力,还得不到好的结果
      正确的做法是备选阶段关注的是技术选型,而不是技术细节,技术选型的差异要比较明显。

    3、小结

    针对当前系统面临的主要复杂问题,对症下药,无论是采用常见的熟悉方案,还是基于已有方案进行创新,尽量作出3~5套的备选方案,专注于技术选型,有理有据

  • 相关阅读:
    取得system32文件夹下面文件的写入权限
    几个SQL语句(备忘)
    Excel多表合并的宏
    删除系统旧网卡
    Eclipse 迁移到Android studio
    是否使用安全模式启动word
    微信公众平台开发
    delphi安装 Tclientsocket, Tserversocket控件
    win10 Internet Explorer 11 停止工作处理
    java编译出错信息汇总(更新)
  • 原文地址:https://www.cnblogs.com/whiteBear/p/15685946.html
Copyright © 2011-2022 走看看