本次阅读的是《架构真经》第1-2章,以下是自己学习的知识点的总结:
一、避免过度设计
1、超过实际需求的设计和实施
2、把一件事做得过于复杂:过度工作,让用户付出过度的精力去完成事情,让工程师付出很大的努力去理解不必要的需求。
对一个好工程师的真实度量,是看他能多快简化一个复杂的问题,然后构思出一个易于理解并可以维护的解决方案。先处理大概率事件努力把代码写的通俗易懂。浅显易懂的解决方案可以增强组织和平台的可扩展性聚焦有用的需求和降低复杂度
二、DID方法
Design-Implement-Deploy
智力成本-工程成本-资产成本
提供及时可扩展性的DID方法。Design(D)设计20倍的容量。Implement(I)实施3倍的容量。Deploy(D)部署1.5倍的容量
三、简化
简化项目范围、简化项目设计、简化项目的实施
四、从不拆分到『接近无限扩展』
1、x轴拆分:水平扩展——克隆;通过复制服务或数据库以分散『事务』处理带来的负载
(拆分对象:数据库、网络服务器和应用服务器。其实没太懂,分布式?)
2、y轴拆分:服务/资源扩展——拆分不同的东西;对数据集和代码库的拆分,API,使工程人员精于系统子集
3、z轴拆分:分片扩展——拆分相似的东西;根据客户的独特属性来拆分,如地理位置等