2.1 如何设计可拓展的架构
架构设计复杂度模型
在架构设计中, 复杂度分为两种形态。
一种为业务复杂度,主要体现为难以理解、难以拓展。例如业务数量多(微信)、业务流程长(支付宝)、业务之间关系复杂(ERP)等。
一种为质量复杂度,高性能,高可用,成本,安全等质量属性的要求。
架构复杂度应对之道
可扩展复杂度模型
可拓展定义: 系统适应变化的能力,包含可理解和可复用两个部分。
可伸缩定义:系统通过添加更多资源来提升性能的能力。
如何进行可拓展架构的设计:
可扩展架构设计 - 拆分
拆分粒度:两个复杂度——内部复杂度和外部复杂度。
内部复杂度,可以用参与的开发人数来衡量单个拆分对象的复杂度。
外部复杂的,可以用业务流程涉及的对象数量来坑两外部复杂度。
拆分原则
内外平衡
先粗后细
可扩展架构设计 - 封装
预测原则:
只预测 2 年之内的变化。
预测没有把握就不要封装,等需要的时候重构即可。
版权声明: 本文为 InfoQ 作者【Lemon】的原创文章。
原文链接:【http://xie.infoq.cn/article/1905abc0a3fffbe701c058fe7】。文章转载请联系作者。
评论