- Published on
架构设计复杂度模型
鸡蛋篮子第一法则:如何一个蓝字数不清,拆分到多个蓝字再数
业务复杂度 和 质量负责度 正交,二者相互不影响

架构复杂度应对之道

可扩展
extensibility:系统适应变化的能力。包含可理解 可复用两个部分(可理解也是可扩展的部分) 重点就是拆分和复用。
scalability:可伸缩,系统通过添加更多资源来提升性能的能力
可理解和可复用如何影响可扩展:可理解代码系统有哪些地方有修改,可复用代表修改的范围有多大。

拆分法则

内部复杂度,外部复杂度 平衡原则


为什么不先拆多一些然后再合并。

封装

预测的艺术

封装的技巧

美团MazeGo规则引擎
OSGI微内核


高性能
高性能:计算的高性能, 存储的高性能

单机高性能复杂度分析

列出只是常见的
集群高性能设计
鸡蛋蓝字理论-叠加法则

任务分配

任务分配器本身也是集群

任务分配:DNS,Nginx(10万)(类似的还有F5百万, LVS 50万量级)
memcached

任务分解
比任务分配更复杂。


微信

数据库读写分离 就是为了提升读的性能。

投入产出比,拆分之后更容易优化
高可用

单机架构没有高可用。
鸡蛋篮子第三法则 冗余法则
高可用方案必然是集群方案。
计算高可用
任务分配

任务分配器 需要监控业务服务器的状态。,在故障时进行切换。

下面 运行形态,配置获取,分配算法和高性能是一样的。


存储高可用

复制格式

复制方式





