聂同学

一个程序员和架构师的实践与思考

分布式事务,也谈(番外)

过程管理,一个基础模式?

系列中1提到,事务管理,实质是一个过程管理。

包括事务管理,过程管理还出现在多个常见的场景中,比如 -

  • 事务管理 - 负责管理各个相关联的操作,对他们的“状况“做出决策应对。
  • 服务编排 - 负责将小粒度和职责单一的服务组合为复杂的业务过程。
  • 协调异步 - 负责异步操作之间的步调协调工作。
  • 交互串联 - 负责将多个业务步骤包装为一个用户友好的交互过程。

这几个场景都是一个管理者在对一个过程进行管理。但在不同场景中管理者的职责不同 -

  • 事务管理 - 强调操作状况的可见、可控、可稽核。
  • 服务编排 - 强调服务间的依赖管理,服务结果的传递和收集。
  • 协调异步 - 强调操作间的步调协同,与同步的转化,处理等待,处理中间状态。
  • 交互串联 - 强调与用户的交互,比如处理中间状态的表现,过程中用户的干预等。

根据系列中的研究,这些个过程管理都可以考虑实现为分层结构的状态机模型。

这里有一个挑战:实际情况中一个管理组件很有可能兼职,很可能需要同时完成上述职责中的两三项。这种情况下,处理具体业务逻辑的最上层,就需要从各个职责各自的角度,对操作和决策进行描述,然后,如果能做到的话,把它们融合起来。

(也许还有下一篇,研究下如何融合各个职责的操作和决策)

分布式, 架构, 模式

分享 -