分布式架构设计的原则和定律

设计分布式系统的一些原则

   在设计架构时,要以业务为基础,同时需要考虑时间,人员技术储备等一系列因素,不存在直接设计出来一个完美的架构。
先解决核心问题,再一步步解决项目中出现的痛点。一个满足业务需求的架构是根据业务演变来的,这是一个不断迭代的过程。

微服务架构设计的几大定律

康威定律


  • 系统架构可以反映出公司的组织架构

复杂的系统设计离不开人与人的沟通,沟通成本的算法为人数*(人数-1)/2,人数越多,成本越高。沟通的问题,会影响到系统的开发效率和周期。

  • 时间再多也不能把一件事情做完美
    一个复杂的系统,无论人员技术水平多高,终究会有漏洞。 需求复杂情况下,先忽略一些细节,业务量大的情况下,先做核心内容,把能做好的做到完美,然后再持续集成。
  • 根据系统做团队的划分
    还是为了解决沟通问题,团队越多,共同成本越高,尽量让一个团队内全栈,让团队自治,降低沟通成本。
  • 久合必分,分而治之
    将一个大的系统在合适的实际进行拆分
  • 墨菲定律

    • 任何事情都没有表面看起来那么简单
    • 所有事情都会比你预计的时间要长
    • 可能出错的事情总会出错
    • 如果你担心某种情况发生,那么它更有可能发生

    二八定律

    各个行业都普遍存在二八定律,在设计系统时,应将有效的资源放到核心的环节

    你可能感兴趣的:(分布式架构设计的原则和定律)