应用扩展可以分为三个方向,X,Y,Z
- X轴分割代表把相同的工作或应用的镜像分配给多个实体。对应用来讲就是多个实例,对数据来讲就是多个复本。
- Y轴分割代表把工作职责基于”动词”或动作分配到多个实体(服务)。因为可以单独的实施每个服务,所以Y轴分割可以改善开发时间。同时有助于交易增长及故障隔离。对特定功能数据增长的扩展也有所帮助,但对客户数据增长的扩展并没有太大的好处。
- Z轴分割代表按照客户、客户需求、位置或价值分割和分配工作。它可以建立故障隔离而且可以沿着客户的边界扩展。但它不能解决特定功能数据增长的扩展问题。
我的理解
- X轴分割就是功能或数据复制,由多个相同的实例提供相同的功能。
- Y轴分割就是一个大的系统分成多个独立的服务,每个服务独立开发、部署,有利于责任划分和故障隔离。
- Z轴分割主要是数据分割,按照关键字段如客户、位置、订单等将数据水平分割。Y轴分割后有些服务数据增长会很大,这时可以再加上Z轴分割以更好的适应数据增长。应用方面的Z轴分割比如每个省的用户访问部署在省的服务。