决策引擎 Note

决策引擎 Note

  • 开场
    • 常见的引擎有哪些?
      • 游戏、模板、规则、决策;
    • 引擎是一套通用的软件解决方案,基于引擎,可以实现一类相似的业务需求;
  • 决策引擎是什么?
    • 如果用最简单的说,对某一类型的事件进行加工处理后得到一个决策结果;
    • 从这句话看起来,和规则引擎很像,确实很像,或者说决策引擎是一种高级的规则引擎(是基于规则引擎的提升改造以适应更加复杂的流程);
  • 怎么会自己开发出一个决策引擎
    • 罗列业务上的诉求
    • 时间线
    • 所以一个东西并不是一蹴而就的,也是因为业务的复杂逐渐提升,引擎也在随之提升变化
  • 如何设计
    • 原则
      • 组合>继承
      • 单一责任
      • 每一个类应该和尽可能少的类交互,对象的层次设计
    • 主要对象
      • Filter
      • TaskNode
      • Task
      • FlowEngine
      • IFlowContext
  • 效果
    • 代码工程可读性、可测试性(可维护性)强;
    • 不同决策模型均适应
    • 易扩展
      • 方便查问题(日志落表与业务逻辑完全解耦)
      • 可以在大数据环境运行(不基于Spring)
  • 应用
    • 同业预警财务模型V2
  • 未来规划
    • 支持并发
    • 支持节点超时配置
    • 前端展示转换层,配置与执行流可视化,便于运维
  • 启示
    • 原型能力
      • 从规则引擎–>规则引擎V2–>决策引擎
    • 产品需要打磨
    • 其他

最后修改于 2022-03-25