AKF扩展立方体:X轴-水平扩展 Y轴-功能、服务、资源拆分 Z轴-根据查询或公式拆分
规则7-X轴扩展
内容:通常叫水平扩展,通过复制服务或数据库以分散事务处理带来的负载。
场景:数据库读写比例很高;事务增长超过数据增长的系统;
用法:克隆服务的同时配置负载均衡器;确保使用数据库的代码清楚读和写之间的区别;
原因:以复制数据和功能为代价获得事务的快速扩展
要点:X轴拆分实,数据的实施速度快,研发成本低,事务处理扩展效果好。然而,从运维的角度,数据的运营成本较高。
规则8-Y轴拆分
内容:也称为服务或资源扩展,本规则聚焦在沿着动词(服务)和名词(资源)的边界拆分数据集、交易和技术团队
场景:数据之间的关系不是那么必要的大型数据集;需要专业化拆分技术资源的大型复杂系统;
用法:用动词来拆分动作,用名词来拆分资源,或者两者混用;沿着动词/名词的边界拆分服务和数据
原因:不仅允许事务及其相关的大型数据集有效扩展,也支持团队的有效扩展。
要点:Y轴或者面向数据/服务的拆分允许事务和大型数据集的有效扩展,有益于故障隔离,也有助于减少团队之间的非必要沟通。
规则9-Z轴拆分
内容:经常根据客户的独特属性(例如ID,姓名,地理位置等进行拆分)
场景:非常大且类似的数据集,如庞大而且增长快速的客户群,或者当响应时间对在地理上广泛分布的客户变得很重要的时候;
用法:根据所知道的客户的属性(例如ID、名,地理位置或设备)对数据和服务进行拆分 。
原因:客户的快速增长超过了其他形式的数据增长,或者在扩展时,需要在某些客户群之间进行必要的故障隔离。
要点:Z轴拆分对扩大客户基数的效果明显,也用在其他那些无法使用Y轴拆分的大型数据集上。