漫谈大规模交易系统架构设计--Core--Engine

    人有心脏,汽车有引擎。大规模交易系统里,最好也有一个引擎;就好比人有心脏,汽车有引擎一样。交易系统的引擎是什么?能够起到什么作用?应该如何搭建?咱们慢慢谈。

    前面的博客中提到系统有三个核心部分,这次先详细探讨其中一个,就是交易本身,把钱(或有价证卷等)从A账户转到B账户的操作。这个操作是一个最基本的最核心的操作,钱(或证券等)流动的操作都可以由这个基本操作组合而成。

    引擎是什么?就是执行由上面所说的那个基本核心操作(当然还有一些其它操作)组成的操作流程的东西。引擎不负责流程的制定,它只负责流程的执行,它是执行者。就和心脏一样,心脏不是大脑,不负责行动计划,只负责行动。

    为什么要引擎?引擎的最大好处是将流程的制定和流程的执行分离开来。流程的制定一般要根据业务需求来做,而业务需求是经常变的。上百个应用,如果没有引擎,很可能需要垂直的上百个应用程序模块来满足业务需求。有了引擎就不一样了。 它可以将业务需求流程和基本单元功能模块隔离,通过组合单元功能模块来实现业务流程。流程可以通过XML文件或其它东西来定义;引擎按照流程定义来执行各个单元操作就可以完成业务流程。这样可以极大的提高业务开发的进度,同时极大的减小系统的复杂度。

     说起来很费劲,也很难理解,简单画图来解释吧。 

     没有引擎的系统通常是这样的:

扫描二维码关注公众号,回复: 802774 查看本文章

     加入引擎之后的系统会是这样的:

猜你喜欢

转载自hubertwu.iteye.com/blog/757347