1.系统拆分从资源角度可分为:应用拆分和数据库拆分
2.从拆分顺序可分为:水平扩展,垂直拆分,业务拆分,水平拆分
拆分顺序 应用拆分 数据库拆分
- 水平扩展(复制) 多机集群,提高系统的并发能力 读写分离 如:商品写库,商品读库
- 垂直拆分(不同业务拆分) 按业务域划分系统 如:商品系统,交易系统 按业务分库:如商品库 和订单库
- 业务分片(相同业务) 按功能特点分开部署 如:秒杀系统 分库分表,提高数据容量 如:订单库按Id分库分表
- 水平拆分(稳定与易变分离) 服务分层功能和非功能分开 冷热数据分离,历史数据分离
是否使用服务实际业务场景来决定,当垂直应用越来越多的时候,作为独立的服务逐渐形成稳定的服务中心,是前端应用更能更快速的响应多变的市场需求,此时提高业务复用及整合分布式服务框架RPC是关键 ----》服务间的交流
当服务越来越多,容量的评估,小服务资源的浪费等问题逐渐显现,此时需增加一个调度中心,基于访问压力实时管理集群容量,提高集群利用率,此时用于提高机器的利用率的资源调度和治理中心(SOA)是关键 -----》服务管理