1.扩展策略
进程间架构设计的核心关注点
分层.
- 不同层有不同的变化频率,对资源有不同的要求
通常通过不同层之间的不同的变化拼读,获得最优扩展策略
两个视角
a.数据角度
- 为什么面向对象技术会成为主流? 因为便于缓存.
以对象/集合为单位的缓存策略,更容易减少对后端的压力
- 如果层数据缓存角度来思考分层架构
- 全集DB --> 热取 cache -->个性数据
- 于是分层架构的核心难点就变成了如何保持分布数据的一致性问题
b.业务的变化频度
- 核心业务模式-- 5~10年
- 差异化层 -- 用户体验,操作流程,甚至是领域系统. 以什么样的流程体验核心业务 1~3年
- 接触点 touch point 6~18个月
- 分区
- 分区代表不同的局部化策略
- 通常通过有效局部化获得最优的扩展策略
两个视角:
进程间成本最高的操作是什么?
- 数据同步— 跨进程的数据一致性
- 分区的最理想方式是share nothing
- 然而这是不可能的
- 价值是系统稳健
- 运营隔离
- SLA 表示不同成本
- 分区的设计难点是如何有效的局部化,以减少对进程间数据一致性的维护