更新时间:2024-11-13 GMT+08:00
分享

horizon整体介绍

整体架构

devspore-horizon是DevSpore开发框架提供的一种插件机制,您可以在请求被处理前(Entry)和应答发送前(Exit)调用DevSpore预置的,也可以使用自己开发的插件,可用于实现统一的操作前认证、鉴权,操作后消息发送、缓存更新、审计等功能。

devspore-horizon架构图如下:

图1 架构图
  • Entry类插件采用的是责任链模式(chain of resposibility),所有的插件按照被注册的顺序依次调用,其中有一个插件抛出异常则整个请求返回失败。
  • Exit类插件采用的是观察者模式(Observer),所有的插件作为观察者注册,DevSpore运行时库里的Publisher模块同时调用所有的观察者插件(插件可能被并发执行且执行的顺序随机),插件执行的结果不能影响请求返回。

实现流程

devspore-horizon整体流程概括如下:

图2 实现流程

典型案例

devspore-horizon允许用户用内置的鉴权和消息发送插件,也支持用户自定义插件来自主实现鉴权(认证等)和消息发送(审计等)。

下图为一个典型的使用案例:

图3 典型案例

相关文档