架构设计的目的

506 阅读2分钟

架构设计的误区

  • 因为架构很重要,所以要做架构设计?

  • 不是每个系统都要做架构设计吗?

  • 公司流程要求系统开发过程中必须有架构设计?

  • 为了高性能、高可用、可扩展,所以要做架构设计?

架构设计的真正目的

架构设计的主要目的是为了解决软件系统复杂度带来的问题。

  • “这么多需求,从哪里开始下手进行架构设计呢?

通过熟悉和理解需求,识别系统复杂性所在的地方,然后针对这些复杂点进行架构设计。

  • “架构设计要考虑高性能、高可用、高扩展……这么多高 XX,全部设计完成估计要 1 个月,但老大只给了 1 周时间”

架构设计并不是要面面俱到,不需要每个架构都具备高性能、高可用、高扩展等特点,而是要识别出复杂点然后有针对性地解决问题。

  • ”业界 A 公司的架构是 X,B 公司的方案是 Y,两个差别比较大,该参考哪一个呢?”

理解每个架构方案背后所需要解决的复杂点,然后才能对比自己的业务复杂点,参考复杂点相似的方案。

  • “我们的系统一定要做到每秒 TPS 10 万”

如果系统的复杂度不是在性能这部分,TPS 做到 10 万并没有什么用。

  • “淘宝的架构是这么做的,我们也要这么做”

淘宝的架构是为了解决淘宝业务的复杂度而设计的,淘宝的业务复杂度并不就是我们的业务复杂度,绝大多数业务的用户量都不可能有淘宝那么大。

  • “Docker 现在很流行,我们的架构应该将 Docker 应用进来”

Docker 不是万能的,只是为了解决资源重用和动态分配而设计的,如果我们的系统复杂度根本不是在这方面,引入 Docker 没有什么意义。

从0学架构专栏(作者:李运华)学习笔记