微服务业务逻辑设计

文章目录

    • 业务逻辑组织模式
      • 事务脚本模式
      • 领域模型模式
    • 聚合模式
    • 领域事件

业务逻辑组织模式

事务脚本模式

  • 面向过程的事务脚本集合,每种请求对应一个脚本。
  • 类分为:
    • 实现行为的类。
    • 存储状态的类。
  • 优点:简单。

领域模型模式

  • 组织为具有行为和状态的类构成的对象模型。
  • 类分为:
    • 同时具有行为和状态的类。(主要)
    • 具有行为的类。
    • 存储状态的类。
  • 优点:
    • 每个小类逻辑不多,反应现实,易于理解。
    • 小类容易测试。
    • 可以使用设计模式。

聚合模式

  • 聚合模式:领域模型组织成聚合的集合,每个聚合是可以一批处理的对象构成的
  • 模糊边界产生的问题:
    • 概念模糊。
    • 并发更新对象一部分时,可能不满足整体约束。
  • 聚合规则。
    • 只能引用聚合根。确保聚合执行各种不变量约束。
    • 聚合引用必使用外键。外键引用替代对象引用松耦合。
      • 边界明确,避免意外更新不同聚合。
      • 避免出现跨服务对象的引用。
    • 一个事务中只能更新或者创建一个聚合。确保事务不超越服务边界。
  • 聚合粒度适中。
    • 小:聚合内部序列化执行,提高性能降低冲突概率。
    • 大:事务范围需要。

领域事件

  • 聚合被创建,或者其他重大更改时发布。
  • 目的:
    • 维护一致性。cqrs视图。
    • 触发下一步业务流程。saga。
    • 监控应用。
    • 分析事件,用户建模。

消息增强:事件包含接收方需要的消息。

你可能感兴趣的:(架构)