一、可扩展架构的设计
1、架构设计复杂度模型:
业务复杂度:业务固有的复杂度,主要体现为难以理解、难以扩展、例如业务数量多(微信)、业 务流程长(支付宝)、业务之间关系复杂 (例如ERP)。
质量复杂度:高性能、高可用、成本、安全等质量属性的要求。
业务复杂度和质量复杂度是正交的
2、可扩展复杂度模型
定义:可扩展,可伸缩
模型:架构、应用、代码可扩展
3、拆分:关键点是平衡
4、封装:权衡变化
二、高性能架构的设计
1、单机高性能:单机优化
2、集群高性能:拆分
三、高可用架构的设计
1、计算高可用:
任务分配:将任务分配给多个服务器执行(负载均衡)
任务分解:不同的任务交给不同的服务器执行(服务拆分)
2、存储高可用 分布式,多节点存储
四、架构设计的质量度量
1、低成本:资源成本
2、安全性:架构安全、业务安全
3、可测试性/可维护性/可观测性:系统测试以及运维