主动器模式

一、定义及问题背景:

主动器体系结构模式使事件驱动的应用程序能有效地多路分解和分配由于异步操作的完成而激活的服务请求,这样能获取并发所带来的好处。

异步接收和处理多个服务请求的事件驱动的应用程序。通常可以改善分布式系统中的事件驱动应用程序的性能。

二、解决方案:
应用服务分成两部分:异步执行的耗时长的操作和在这些操作完成后处理其结果的完成处理程序。

三、结构:
包过九个参与者
1.句柄。标识一个操作系统资源,该资源是异步操作的目标,或者是操作系统中的完成事件源。
2.异步操作。定义可以异步执行的操作。
3.完成处理程序。定义一个用于处理异步操作结果的接口。
4.具体完成处理程序。以一种与应用有关的方式处理异步操作的结果。
5.异步操作处理器。调用某一个句柄的异步操作并运行到结束,异步操作处理器产生相应的完成事件。跟进操作所针对的句柄,异步操作处理器将该完成事件插入到与句柄对应的完成事件队列中。
6.完成事件队列。当等待完成事件通过异步事件多路分解器删除时,保存完成事件。
7.异步事件多路分解器。能够阻塞等待完成事件队列中出现完成事件,删除完成事件并把它返回给调用者。
8.主动器。调用异步事件多路分解器将完成事件从队列中删除。向完成处理程序的钩子方法事件多路分解和分配完成事件。
9.启动程序。调用异步操作。可选择地作为具体完成处理程序。

时序图:
这里写图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章