1.扩展策略

进程间架构设计的核心关注点

  • 分层.

    • 不同层有不同的变化频率,对资源有不同的要求
    • 通常通过不同层之间的不同的变化拼读,获得最优扩展策略

    • 两个视角

a.数据角度

  1. - 为什么面向对象技术会成为主流? 因为便于缓存.

以对象/集合为单位的缓存策略,更容易减少对后端的压力

  1. - 如果层数据缓存角度来思考分层架构
  2. - 全集DB --> 热取 cache -->个性数据
  3. - 于是分层架构的核心难点就变成了如何保持分布数据的一致性问题

b.业务的变化频度

  1. - 核心业务模式-- 5~10
  2. - 差异化层 -- 用户体验,操作流程,甚至是领域系统. 以什么样的流程体验核心业务 1~3
  3. - 接触点 touch point 6~18个月

image.png

  • 分区
    • 分区代表不同的局部化策略
    • 通常通过有效局部化获得最优的扩展策略

两个视角:
进程间成本最高的操作是什么?

  • 数据同步— 跨进程的数据一致性
  • 分区的最理想方式是share nothing
    • 然而这是不可能的
    • 价值是系统稳健
    • 运营隔离
    • SLA 表示不同成本
  • 分区的设计难点是如何有效的局部化,以减少对进程间数据一致性的维护

总结:

image.png